我有一個帶有以下列的熊貓資料框:
import pandas as pd
df = pd.DataFrame(['10/30/2022 7:00:00 AM 01:00', '10/31/2022 12:00:00 AM 01:00',
'10/30/2022 3:00:00 PM 01:00', '10/30/2022 9:00:00 PM 01:00',
'10/30/2022 5:00:00 PM 01:00', '10/30/2022 10:00:00 PM 01:00',
'10/30/2022 3:00:00 AM 01:00', '10/30/2022 2:00:00 AM 02:00',
'10/30/2022 10:00:00 AM 01:00', '10/30/2022 4:00:00 PM 01:00',
'10/30/2022 1:00:00 AM 02:00'], columns = ['Date'])
我想轉換日期值,使其如下所示:
2022-10-30T00:00:00 02:00
我嘗試了以下方法; df['Date'] = pd.to_datetime(df['Date']).dt.strftime('%Y-%m-%dT%H:%M:%S')
.dt每當呼叫時,代碼都會引發錯誤:
AttributeError:只能將 .dt 訪問器與 datetimelike 值一起使用
顯然代碼pd.to_datetime()不起作用。
任何人都知道如何解決這個問題?
uj5u.com熱心網友回復:
# convert to date
# convert to your format
df['Date']=df['Date'].apply(pd.to_datetime).apply(lambda x: x.strftime('%Y-%m-%dT%H:%M:%S%z'))
0 2022-10-30T07:00:00 0100
1 2022-10-31T00:00:00 0100
2 2022-10-30T15:00:00 0100
3 2022-10-30T21:00:00 0100
4 2022-10-30T17:00:00 0100
5 2022-10-30T22:00:00 0100
6 2022-10-30T03:00:00 0100
7 2022-10-30T02:00:00 0200
8 2022-10-30T10:00:00 0100
9 2022-10-30T16:00:00 0100
10 2022-10-30T01:00:00 0200
Name: Date, dtype: object
uj5u.com熱心網友回復:
utc=True轉換為日期時間時添加。嘗試這個:
import pandas as pd
df = pd.DataFrame(['10/30/2022 7:00:00 AM 01:00', '10/31/2022 12:00:00 AM 01:00',
'10/30/2022 3:00:00 PM 01:00', '10/30/2022 9:00:00 PM 01:00',
'10/30/2022 5:00:00 PM 01:00', '10/30/2022 10:00:00 PM 01:00',
'10/30/2022 3:00:00 AM 01:00', '10/30/2022 2:00:00 AM 02:00',
'10/30/2022 10:00:00 AM 01:00', '10/30/2022 4:00:00 PM 01:00',
'10/30/2022 1:00:00 AM 02:00'], columns = ['Date'])
df['Date'] =df['Date'] = pd.to_datetime(df['Date'], utc=True)
print(df['Date'].dt.strftime('%Y-%m-%dT%H:%M:%S'))
輸出:
0 2022-10-30T06:00:00
1 2022-10-30T23:00:00
2 2022-10-30T14:00:00
3 2022-10-30T20:00:00
4 2022-10-30T16:00:00
5 2022-10-30T21:00:00
6 2022-10-30T02:00:00
7 2022-10-30T00:00:00
8 2022-10-30T09:00:00
9 2022-10-30T15:00:00
10 2022-10-29T23:00:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/526479.html
