【发布时间】:2021-05-29 20:19:05
【问题描述】:
我有一个名为 BusinessDate 的镶木地板文件,其中包含一个日期字段。当我将其导入数据框时,它会自动确定字段 BusinessDate 为日期(datetime64 [ns,UTC])。 但是,由于此 BusinessDate 字段的格式为 YYYY-MM-DD,因此其中一些日期被错误地导入。例如。 2013-02-01 应该是 2013 年 2 月的第一个,而实际上它被解释为 2013 年 1 月的第二个。 导入parquet文件时是否可以设置BusinessDate字段的正确格式?
最初我使用的是:
df.read_parquet('data.parquet')
如果我有一个 csv 文件,我的解决方案是:
custom_date_parser = lambda x: datetime.strptime(x, '%Y-%m-%d')
df.read_csv('data.csv',parse_dates=['BusinessDate'], date_parser=custom_date_parser)
但是,当我尝试使用类似代码来尝试修复日期问题时,它会给出错误:
custom_date_parser = lambda x: datetime.strptime(x, '%Y-%m-%d')
df.read_parquet('data.parquet',parse_dates=['BusinessDate'], date_parser=custom_date_parser)
错误是由于 read_parquet 函数没有 parse_dates 或 date_parser 属性引起的,例如read_csv 函数确实有。
所以我的问题是:如何在 pandas 中导入 parquet 文件,以便将“BusinessDate”字段正确导入为正确格式的日期,在我的情况下为 YYYY-MM-DD。或者,如果使用 pandas read_parquet 函数无法做到这一点,是否可以将“BusinessDate”字段作为字符串字段导入 pandas 数据框中,以便我之后可以更改它。
【问题讨论】:
标签: python pandas date parquet