[英]Converting dataframe column of datetime data to DD/MM/YYYY string data
I have a dataframe column with datetime data in 1980-12-11T00:00:00
format.我有一个包含
1980-12-11T00:00:00
格式的日期时间数据的数据1980-12-11T00:00:00
列。
I need to convert the whole column to DD/MM/YYY
string format.我需要将整列转换为
DD/MM/YYY
字符串格式。
Is there any easy code for this?有没有简单的代码?
Creating a working example:创建一个工作示例:
df = pd.DataFrame({'date':['1980-12-11T00:00:00', '1990-12-11T00:00:00', '2000-12-11T00:00:00']})
print(df)
date
0 1980-12-11T00:00:00
1 1990-12-11T00:00:00
2 2000-12-11T00:00:00
Convert the column to datetime
by pd.to_datetime()
and invoke strftime()
通过
pd.to_datetime()
将列转换为datetime
pd.to_datetime()
并调用strftime()
df['date_new']=pd.to_datetime(df.date).dt.strftime('%d/%m/%Y')
print(df)
date date_new
0 1980-12-11T00:00:00 11/12/1980
1 1990-12-11T00:00:00 11/12/1990
2 2000-12-11T00:00:00 11/12/2000
You can use pd.to_datetime
to convert string to datetime data您可以使用
pd.to_datetime
将字符串转换为日期时间数据
pd.to_datetime(df['col'])
You can also pass specific format as:您还可以将特定格式传递为:
pd.to_datetime(df['col']).dt.strftime('%d/%m/%Y')
When using pandas
, try pandas.to_datetime
:使用
pandas
,请尝试pandas.to_datetime
:
import pandas as pd
df = pd.DataFrame({'date': ['1980-12-%sT00:00:00'%i for i in range(10,20)]})
df.date = pd.to_datetime(df.date).dt.strftime("%d/%m/%Y")
print(df)
date
0 10/12/1980
1 11/12/1980
2 12/12/1980
3 13/12/1980
4 14/12/1980
5 15/12/1980
6 16/12/1980
7 17/12/1980
8 18/12/1980
9 19/12/1980
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.