如何在Pandas中将数据格式更改为'%Y%m%d'?

flvlnr44  于 2023-02-02  发布在  其他
关注(0)|答案(3)|浏览(185)

我有一个DF,第一列显示为2018-01-31 00:00:00
我想转换整个列(或在打印/保存到其他变量),日期为20180131。不希望这样做,在保存到CSV文件。
已尝试此操作,但不起作用:
df['mydate'] = pd.to_datetime(df['mydate'], format='%Y%m%d')

woobm2wo

woobm2wo1#

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.strftimedatetime系列转换为所需格式的字符串:

s = s.dt.strftime('%Y%m%d')

print(s)

0    20180131
dtype: object
3pmvbmvn

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')
u1ehiz5o

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”

相关问题