我有一个DF,第一列显示为2018-01-31 00:00:00。我想转换整个列(或在打印/保存到其他变量),日期为20180131。不希望这样做,在保存到CSV文件。已尝试此操作,但不起作用:df['mydate'] = pd.to_datetime(df['mydate'], format='%Y%m%d')
2018-01-31 00:00:00
20180131
df['mydate'] = pd.to_datetime(df['mydate'], format='%Y%m%d')
woobm2wo1#
pd.to_datetime用于将系列转换为datetime:
pd.to_datetime
datetime
s = pd.Series(['2018-01-31 00:00:00']) s = pd.to_datetime(s) print(s) 0 2018-01-31 dtype: datetime64[ns]
pd.Series.dt.strftime将datetime系列转换为所需格式的字符串:
pd.Series.dt.strftime
s = s.dt.strftime('%Y%m%d') print(s) 0 20180131 dtype: object
3pmvbmvn2#
pd.to_datetime将字符串转换为日期。您需要covert a date to a string
df['mydate'].dt.strftime('%Y%m%d')
请注意,您的日期可能已经是一个字符串,但格式错误,在这种情况下,您可能需要先将其转换为日期:
pd.to_datetime(df['mydate'], format='%Y-%m-%d %H:%M:%S').dt.strftime('%Y%m%d')
u1ehiz5o3#
将字符串列2018-01-31 00:00:00转换为日期时间:df [“我的日期”] =pd.to_日期时间(df [“我的日期”])根据格式获取首选字符串:df ['mydate'].dt.字符串时间(' %Y-%m-% d')输出:'2018-01-31'df [“我的日期”].dt.结构时间(“%Y%m% d”)输出:“20180131”
3条答案
按热度按时间woobm2wo1#
pd.to_datetime
用于将系列转换为datetime
:pd.Series.dt.strftime
将datetime
系列转换为所需格式的字符串:3pmvbmvn2#
pd.to_datetime
将字符串转换为日期。您需要covert a date to a string请注意,您的日期可能已经是一个字符串,但格式错误,在这种情况下,您可能需要先将其转换为日期:
u1ehiz5o3#
将字符串列2018-01-31 00:00:00转换为日期时间:
df [“我的日期”] =pd.to_日期时间(df [“我的日期”])
根据格式获取首选字符串:
df ['mydate'].dt.字符串时间(' %Y-%m-% d')输出:'2018-01-31'
df [“我的日期”].dt.结构时间(“%Y%m% d”)输出:“20180131”