我不想更改 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)
非常感谢任何帮助。
答案 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'))