我正在嘗試根據條件從兩列創建一列。
我有兩列“date_1”和“date_2”,我對“date_2”列感興趣,但它包含NaT值,因此我想用第2列的值創建一個新列“date_3”,并將 NaT 值替換為“date_1”列中的日期。
我正在嘗試使用 np.where 方法,但輸出不正確。下面是我正在使用的代碼。
date_1 = ('2021-05-25 00:00:00','2021-05-28 00:00:00', '2021-05-29 00:00:00', '2021-05-29 00:00:00')
date_2 = ('2021-05-21 00:00:00',pd.NaT, '2021-05-26 00:00:00', pd.NaT)
df= pd.DataFrame(list(zip(date_1, date_2)), columns = ['date_1','date_2'])
df['date_1'] = pd.to_datetime(df['date_1'])
df['date_2'] = pd.to_datetime(df['date_2'])
df["date_3"] = np.where(df['date_1'] == pd.NaT, df['date_2'], df['date_1'])
uj5u.com熱心網友回復:
我認為沒有必要使用 np.where。這是我對您的問題的解決方案:
df["date_3"] = df["date_2"]
df["date_3"] = df["date_3"].fillna(value=df["date_1"])
print(df)
輸出:
date_1 date_2 date_3
0 2021-05-25 2021-05-21 2021-05-21
1 2021-05-28 NaT 2021-05-28
2 2021-05-29 2021-05-26 2021-05-26
3 2021-05-29 NaT 2021-05-29
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/496327.html
上一篇:熊貓生日不承認六月節
下一篇:按日期過濾DataFrame
