繁体   English   中英

熊猫to_datetime格式不符合预期

[英]Pandas to_datetime not formatting as expected

我有一个带有数据类型为datetime64的“日期”列的数据框。 值采用YYYY-MM-DD格式。 如何将其转换为YYYY-MM格式并将其用作datetime64对象本身。 我尝试将datetime对象转换为YYYY-MM格式的字符串,然后再转换回YYYY-MM格式的datetime对象,但是没有用。

原始数据= 1988-01-01。

将datatime对象转换为YY-MM格式的字符串

df['Date']=df['Date'].dt.strftime('%Y-%m')

这按预期工作,我的列值变成

1988-01

将字符串转换回Ym格式的datetime对象

df['Date']=pd.to_datetime(df['Date'],format= '%Y-%m')

我期望Date列为YYYY-MM格式,但它变成YYYY-MM-DD格式。

1988-01-01

你能不能让我知道我是否缺少什么。

谢谢

这是预期的行为 ,在日期时间中需要使用年,月和日参数。

如果要通过to_period删除days需要一个月期间:

df['Date'] = df['Date'].dt.to_period('M')

df['Date'] = pd.to_datetime(df['Date'],format= '%Y-%m').dt.to_period('M')

样品:

df = pd.DataFrame({'Date':pd.to_datetime(['1988-01-01','1999-01-15'])})
print (df)
        Date
0 1988-01-01
1 1999-01-15

df['Date'] = df['Date'].dt.to_period('M')
print (df)
     Date
0 1988-01
1 1999-01

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM