下面是我的一列資料框,即日期
df = pd.DataFrame({'Date' : ['2014-03-27', '2014-03-28', '2014-03-31', '2014-04-01', '2014-04-02', '2014-04-03', '2014-04-04', '2014-04-07','2014-04-08', '2014-04-09']})
假設 dtype 是 datetime64[ns]
我想將其轉換為格式 %d-%m-%Y
我用了這個公式
df['Date'].apply(lambda x: datetime.strptime(x.strftime("%d-%m-%Y"),"%d-%m-%Y"))
但排序仍然沒有改變 - 我做錯了什么嗎?
uj5u.com熱心網友回復:
df['Date'].apply(lambda x: datetime.strptime(x.strftime("%Y-%m-%d"),"%d-%m-%Y"))
按原樣閱讀,然后按您想要的方式列印。
uj5u.com熱心網友回復:
使用dt.strftime:
df["Date"] = df["Date"].dt.strftime("%d-%m-%Y")
uj5u.com熱心網友回復:
您的示例資料集沒有datetime64[ns]型別的資料,所以讓我們先轉換它們
代碼
import pandas as pd
import datetime
# your dataset
df = pd.DataFrame({'Date': ['2014-03-27', '2014-03-28', '2014-03-31', '2014-04-01', '2014-04-02', '2014-04-03', '2014-04-04', '2014-04-07','2014-04-08', '2014-04-09']})
# convert to datetime64[ns] type
df['Date']=df['Date'].apply(lambda x: datetime.datetime.strptime(x, "%Y-%m-%d"))
print(df['Date'].dtype)
# convert to formatted string
df['Date']=df['Date'].apply(lambda x: x.strftime("%d-%m-%Y"))
print(df)
輸出
datetime64[ns]
Date
0 27-03-2014
1 28-03-2014
2 31-03-2014
3 01-04-2014
4 02-04-2014
5 03-04-2014
6 04-04-2014
7 07-04-2014
8 08-04-2014
9 09-04-2014
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472598.html
