格式化日期列熊猫

时间:2020-12-20 14:07:03

标签: python pandas datetime

我不想更改 pandas 中日期列的格式。在我的示例中称为 df_transactions['date']

我的目标格式是 format='%d-%m-%Y'。但是我的代码似乎不起作用。

这是我试过的代码:

df_transactions['date'] = pd.to_datetime(df_transactions['date'], format='%d-%m-%Y')

不确定这是否是重要信息,但我检查了数据类型并显示:dtype: datetime64[ns, pytz.FixedOffset(60)

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你需要做这样的事情:

import pandas as pd

# dummy data (assuming the date column is a string)
rng = pd.date_range(pd.Timestamp("2018-03-10 09:00"), periods=3, freq='s')
df_transactions = pd.DataFrame()
df_transactions['date'] = rng.astype('string')


# transform to datetime and format with strftime
df_transactions['date'] = pd.to_datetime(df_transactions['date']).dt.strftime('%d-%m-%Y')
print(df_transactions)

输出

         date
0  10-03-2018
1  10-03-2018
2  10-03-2018

有关详细信息,请参阅 strftime 上的文档。请注意,如果该列已经是 DatetimeIndex 之类的内容,则无需使用 to_datetime

答案 1 :(得分:0)

我认为你应该尝试:

df_transactions['date'] = pd.to_datetime(df_transactions['date'])

然后这样做:

df_transactions['date'] = pd.to_datetime(df_transactions['date'].dt.strftime(format='%d-%m-%Y'))