pd.to_datetime解决“ 2010/1/1”而不是“ 2010/01/01”

时间:2018-06-27 06:02:43

标签: python-3.x pandas

我有一个数据框,其中包含这样的“ trade_dt”列

2009/12/1
2009/12/2
2009/12/3
2009/12/4

我遇到了这个问题

benchmark['trade_dt'] = pd.to_datetime(benchmark['trade_dt'], format='%Y-&m-%d')

ValueError: time data '2009/12/1' does not match format '%Y-&m-%d' (match)

如何解决?谢谢〜

1 个答案:

答案 0 :(得分:1)

需要更改format进行匹配-将&-替换为%/

benchmark['trade_dt'] = pd.to_datetime(benchmark['trade_dt'], format='%Y/%m/%d')

还可以使用示例数据删除format(但不能确定真实数据):

benchmark['trade_dt'] = pd.to_datetime(benchmark['trade_dt'])

print (benchmark)
    trade_dt
0 2009-12-01
1 2009-12-02
2 2009-12-03
3 2009-12-04