为了账号安全,请及时绑定邮箱和手机立即绑定

如何更改pandas中的日期时间格式

/ 猿问

如何更改pandas中的日期时间格式

倚天杖 2019-09-10 11:08:56

如何更改pandas中的日期时间格式

DOB列样本值采用格式 - 1/1/2016默认情况下会转换为对象,如下所示

DOB       object

转换为日期格式

df['DOB'] = pd.to_datetime(df['DOB'])

日期转换为

2016-01-26

dtype 是

DOB       datetime64[ns]

现在我想将此日期格式转换为01/26/2016或以任何其他常规日期格式。我该怎么做?

无论我尝试什么方法,它总是以2016-01-26格式显示日期。


查看完整描述

4 回答

?
慕的地8271018

如何更改pandas中的日期时间格式

DOB列样本值采用格式 - 1/1/2016默认情况下会转换为对象,如下所示

DOB       object

转换为日期格式

df['DOB'] = pd.to_datetime(df['DOB'])

日期转换为

2016-01-26

dtype 是

DOB       datetime64[ns]

现在我想将此日期格式转换为01/26/2016或以任何其他常规日期格式。我该怎么做?

无论我尝试什么方法,它总是以2016-01-26格式显示日期。


查看完整回答
反对 回复 2019-09-16
?
慕慕森

您可以使用,dt.strftime如果您需要转换datetime为其他格式(但请注意,然后dtype列将是objectstring)):

import pandas as pd

df = pd.DataFrame({'DOB': {0: '26/1/2016', 1: '26/1/2016'}})print (df)
         DOB0  26/1/2016 1  26/1/2016df['DOB'] = pd.to_datetime(df.DOB)print (df)
         DOB0 2016-01-261 2016-01-26df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y')print (df)
         DOB        DOB10 2016-01-26  01/26/20161 2016-01-26  01/26/2016



查看完整回答
反对 回复 2019-09-16
?
呼唤远方

更改格式但不更改类型:

df['date'] = pd.to_datetime(df["date"].dt.strftime('%Y-%m'))


查看完整回答
反对 回复 2019-09-16
?
互换的青春

与第一个答案相比,我建议先使用dt.strftime(),然后再使用pd.to_datetime()。这样,它仍然会产生日期时间数据类型。

例如,

import pandas as pd

df = pd.DataFrame({'DOB': {0: '26/1/2016 ', 1: '26/1/2016 '})print(df.dtypes)df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y')print(df.dtypes)df['DOB1'] = pd.to_datetime(df['DOB1'])print(df.dtypes)



查看完整回答
反对 回复 2019-09-16
  • 4 回答
  • 0 关注
  • 179 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信