我正在读取一个包含多个日期时间列的csv文件。在读取文件时,我需要设置数据类型,但是日期时间似乎是一个问题。例如:
headers = ['col1', 'col2', 'col3', 'col4']
dtypes = ['datetime', 'datetime', 'str', 'float']
pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes)
当运行时出现错误:
类型错误:数据类型“datetime”不被理解
通过 pandas.to_datetime() 后期转换列不是我能选择的选项。我无法知道哪些列将成为 datetime 对象,这个信息可能会发生改变并且来自于确定我的 dtypes 列表的任何来源。
作为替代方案,我尝试使用 numpy.genfromtxt 加载 csv 文件,设置该函数中的 dtypes,然后将其转换为 pandas.dataframe,但它会破坏数据。非常感谢您的帮助!
pandas.core.datetools.to_datetime
已被弃用,请改用pd.datetools.to_datetime
。例如:date_parser = pd.to_datetime
。 - stackoverYCconverters
参数,您可以在其中指定哪些列具有哪些转换器。parse_dates很有帮助,可以处理坏数据,但由于它测试和推断每个值,因此速度较慢。https://gist.github.com/gjreda/7433f5f70299610d9b6b - Davosskiprows=1
。 - d_-