成為以下 pandas DataFrame:
| ID | date |
|--------------|---------------------------------------|
| 0 | 2022-03-02 18:00:20 01:00 |
| 0 | 2022-03-12 17:08:30 01:00 |
| 1 | 2022-04-23 12:11:50 01:00 |
| 1 | 2022-04-04 10:15:11 01:00 |
| 2 | 2022-04-07 08:24:19 02:00 |
| 3 | 2022-04-11 02:33:22 02:00 |
我想將日期列分為兩列,一列用于格式為“yyyy-mm-dd”的日期,另一列用于格式為“hh:mm:ss tmz”的時間。
也就是說,我想得到以下結果DataFrame:
| ID | date_only | time_only |
|--------------|-------------------------|----------------|
| 0 | 2022-03-02 | 18:00:20 01:00 |
| 0 | 2022-03-12 | 17:08:30 01:00 |
| 1 | 2022-04-23 | 12:11:50 01:00 |
| 1 | 2022-04-04 | 10:15:11 01:00 |
| 2 | 2022-04-07 | 08:24:19 02:00 |
| 3 | 2022-04-11 | 02:33:22 02:00 |
現在我正在使用以下代碼,但它不回傳 utc hh:mm 的時間。
df['date_only'] = df['date'].apply(lambda a: a.date())
df['time_only'] = df['date'].apply(lambda a: a.time())
| ID | date_only |time_only |
|--------------|-------------------------|----------|
| 0 | 2022-03-02 | 18:00:20 |
| 0 | 2022-03-12 | 17:08:30 |
| ... | ... | ... |
| 3 | 2022-04-11 | 02:33:22 |
我希望你能幫助我,提前謝謝你。
uj5u.com熱心網友回復:
將列轉換為日期時間,然后Series.dt.date使用時區提取和時間Series.dt.strftime:
df['date'] = pd.to_datetime(df['date'])
df['date_only'] = df['date'].dt.date
df['time_only'] = df['date'].dt.strftime('%H:%M:%S%z')
或按空格將轉換后的值拆分為字串并選擇第二個串列:
df['date'] = pd.to_datetime(df['date'])
df['date_only'] = df['date'].dt.date
df['time_only'] = df['date'].astype(str).str.split().str[1]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459860.html
