Python 将日期时间数据的dataframe列转换为DD/MM/YYYY字符串数据
我有一个dataframe列,其中日期时间数据采用Python 将日期时间数据的dataframe列转换为DD/MM/YYYY字符串数据,python,string,pandas,datetime,dataframe,Python,String,Pandas,Datetime,Dataframe,我有一个dataframe列,其中日期时间数据采用1980-12-11T00:00:00格式 我需要将整个列转换为DD/MM/YYY字符串格式 有什么简单的代码吗?当使用pandas时,请尝试pandas.to\u 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).d
1980-12-11T00:00:00
格式
我需要将整个列转换为DD/MM/YYY
字符串格式
有什么简单的代码吗?当使用
pandas
时,请尝试pandas.to\u 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
创建工作示例:
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
将列转换为datetime
by并调用
您可以使用
pd.to\u datetime
将字符串转换为datetime数据
pd.to_datetime(df['col'])
您还可以通过以下方式传递特定格式:
pd.to_datetime(df['col']).dt.strftime('%d/%m/%Y')
比如dates.strftime(“%d-%m-%Y”)
pd.to_datetime(“%1980-12-11T00:00:00”).strftime(“%d/%m/%Y”)
:“11/12/1980”
我得到的是:出界时间:出界纳秒时间戳:7020-11-11 00:00:00:00不,绝对不是年份。转换为字符串之前的日期格式为YYYY-MM-DDT00:00:00正好是“7020-11-11 00:00:00”`这一行是发生错误的地方。:)因为熊猫不能把7020当作一年啊,所以数据有问题!有没有办法不在出现这样的错误时停止?@Bimons您可以查看此链接和其他相关链接。:)
pd.to_datetime(df['col']).dt.strftime('%d/%m/%Y')