将日期时间数据的dataframe列转换为DD / MM / YYYY字符串数据

时间:2019-02-01 04:14:03

标签: python string pandas datetime dataframe

我有一个数据框列,其中包含1980-12-11T00:00:00格式的日期时间数据。

我需要将整列转换为DD/MM/YYY字符串格式。

有没有简单的代码?

3 个答案:

答案 0 :(得分:1)

创建一个有效的示例:

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

通过pd.to_datetime()将列转换为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

答案 1 :(得分:0)

使用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

答案 2 :(得分:0)

您可以使用pd.to_datetime将字符串转换为日期时间数据

pd.to_datetime(df['col'])

您还可以将特定格式传递为:

pd.to_datetime(df['col']).dt.strftime('%d/%m/%Y')