**DF1 **
唯一 ID | 任務 | 日期 1 | 日期 2 |
---|---|---|---|
123 | 追蹤 | 28/05/2018 | 28/05/2018 |
455 | 到期 | 2018 年 7 月 2 日 | |
986 | 賣 | 2020 年 5 月 1 日 | 28/05/2018 |
**DF2 **
唯一 ID |
---|
123 |
455 |
986 |
我想做的是,從DF2中查找唯一 ID,并獲取與“跟蹤”任務相對應的日期 1。如果 Track 任務為空,則選擇 Date 2。
期望的輸出
唯一 ID | 日期 |
---|---|
123 | 28/05/2018 |
455 | 2018 年 7 月 2 日 |
986 | 2020 年 5 月 1 日 |
理想情況下,我想要一個 if 陳述句
uj5u.com熱心網友回復:
您可以使用掩碼來執行此操作,以了解 Date1 是否為 nan,然后使用值或值設定date
列。df2
date1
date2
df1 = pd.DataFrame({"id": [123, 455, 986],
"task": ["Track", "Expire", "Sell"],
"date1": [pd.Timestamp("28/05/2018"), np.nan, pd.Timestamp("05/01/2020")],
"date2": [pd.Timestamp("28/05/2018"), pd.Timestamp("07/02/2018"), pd.Timestamp("28/05/2018")]})
df2 = pd.DataFrame({"id": [123, 455, 986]})
mask = df1.loc[:, "date1"].notna()
df2.loc[mask, "date"] = df1.loc[mask, "date1"]
df2.loc[~mask, "date"] = df1.loc[~mask, "date2"]
print(df2)
id date
0 123 2018-05-28
1 455 2018-07-02
2 986 2020-05-01
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531556.html
標籤:熊猫
上一篇:如何將df_a中的值乘以df_b中的值,取這些值的總和,并將它們附加到df_a中的所有值?
下一篇:如何將Pandas列定義為串列