[英]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.