df['Year,date']
Sep 10
1 Sep 16
2 Aug 01
3 Sep 30
4 Sep 28
...
2230 Jul 20
2231 Oct 26
2232 Oct 13
2233 Dec 31
2234 Jul 08
Name: Year,date, Length: 2235, dtype: object
這是我的資料框,我想將每一行轉換為月份和日期、格式的資料時間,我嘗試了一些代碼,但沒有使用我的代碼。
uj5u.com熱心網友回復:
歡迎來到堆疊溢位。要將您提到的資料框從字串轉換為日期時間,您可以使用以下代碼。 初始資料
from datetime import datetime
data = {'date': ['Sep 16', 'Aug 01', 'Sep 30', 'Sep 16']}
df=pd.DataFrame(data)
df.info()
>> # Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 4 non-null object
print(df)
>> date
0 Sep 16
1 Aug 01
2 Sep 30
3 Sep 16
轉換為日期時間......
pd.to_datetime(df['date'],format='%b %d').dt.to_period('M')
df.info()
>> # Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 4 non-null datetime64[ns]
dtypes: datetime64[ns](1)
print(df)
>> date
0 1900-09-16
1 1900-08-01
2 1900-09-30
3 1900-09-16
您可能已經注意到年份被視為 1900,因為這是默認值。所以,如果你今年需要它,你會這樣做......
from datetime import datetime
data = {'date': ['Sep 16', 'Aug 01', 'Sep 30', 'Sep 16']}
df=pd.DataFrame(data)
df.date = datetime.now().strftime("%Y") " " df.date
df.date = pd.to_datetime(df.date, format='%Y %b %d')
print(df)
>> date
0 2022-09-16
1 2022-08-01
2 2022-09-30
3 2022-09-16
現在日期以日期時間格式存盤在資料框中,如果您想以該mon dd格式查看此資訊,則需要執行此操作...
print(df.date.dt.strftime("%b %d"))
>> 0 Sep 16
1 Aug 01
2 Sep 30
3 Sep 16
請注意,日期df仍然是日期時間格式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/487192.html
