我有以下专栏
day
20190101
20190101
20190102
20190103
我想将其更改为01-01-2019
。
我为此使用了以下代码
data['day'] = pd.to_datetime(data['day'], format='%Y/%m/%d')
但它提供以下输出:1970-01-01 00:00:00.020190101
data[["day"]] = data[["day"]].apply(pd.to_datetime)
也尝试过
data['day'] = pd.to_datetime(data['day'], format='%Y/%m/%d')
预期输出为01-01-2019
,但实际输出为1970-01-01 00:00:00.020190101
答案 0 :(得分:0)
您可以简单地实现:
def func(val):
x = str(val)
return '{}-{}-{}'.format(x[6:8],x[4:6],x[0:4])
然后为每个条目运行它。
答案 1 :(得分:0)
只需修复to_datetime
函数的format
参数,当实际格式为%Y/%m/%d
时,您就拥有%Y%m%d
:
df['dt'] = pd.to_datetime(df['day'], format='%Y%m%d')
print(df)
输出:
day dt
0 20190101 2019-01-01
1 20190101 2019-01-01
2 20190102 2019-01-02
3 20190103 2019-01-03