我有一个看起来像这样的数据框,但是有多个记录:
ID Date
1 {'day': 20, 'year': 2018, 'month':9}
我正在尝试将“日期”列中的所有内容更改为熊猫时间序列格式。我试图通过以下操作循环遍历数据并更改每个条目,但是却收到一条错误消息,提示格式不匹配。
for index, rows in iterrows:
x = row['Date']
pd.to_datetime(pd.Series(x), format = 'day': %d, 'year': %y, \
'month': %m, dayfirst = True)
运行df.to_dict()
时,输出为:
{'ID': {0: '1'}, 'Date':{0: "{'day': 20, 'year': 2018, 'month': 9}"}}
答案 0 :(得分:0)
步骤
pd.to_datetime
-这是很酷的部分!如果有适当命名的列,则pd.to_datetime
接受DataFrame
。碰巧,您的词典具有正确的键,这些键将在步骤2中被解析为列名。'Date'
df.assign(Date=pd.to_datetime(pd.DataFrame(df.Date.tolist())))
ID Date
0 1 2018-09-20
答案 1 :(得分:0)
我可以用以下代码解决它:
df['Date'] = pd.to_datetime(df['Date'],format="{'day': %d, 'year': %Y, 'month': %m}")
应该没有pd.Series。