【发布时间】:2019-07-14 11:00:27
【问题描述】:
我正在尝试使用 pandas.to_datetime 将 pandas 数据框的列从字符串类型转换为日期时间。 col 的值具有以下格式:
17 年第一季度
其中“Q”是一年中的第一个季度,“17”是 2017 年。
我在该列中也有空值(我可以删除日期为空的整行)。
我试图解决它,消除季度并仅考虑年份,但我无法通过这种方式将 16 年转换为 2016 年:
df_cpu["Launch_Date"] = [str(x) for x in df_cpu["Launch_Date"]]
df_cpu["Launch_Date"] = [x[3:5] for x in df_cpu["Launch_Date"]]
df_cpu["Launch_Date"] = [int(x) for x in df_cpu["Launch_Date"]]
df_cpu["Launch_Date"] = pd.to_datetime(df_cpu["Launch_Date"], format('%Y'))
即使这样也行不通:
df_cpu["Launch_Date"] = pd.to_datetime(df_cpu["Launch_Date"], format('Q*\'%Y'))
因为我得到这个错误:
ValueError: ('Unknown string format:', "Q3'16")
我应该如何解决这个问题?
我想要以下类型的输出:例如,如果值为“Q1'16”,我想要“01-01-2016”。
【问题讨论】:
标签: python pandas datetime dataframe machine-learning