可以說我有一張這樣的房屋清潔服務表。
| Customer| House Address | Date |
| ------- | ------------- | -------- |
| Sam | London | 10/01/22 |
| Lina | Manchester | 12/01/22 |
| Sam | Null | 15/01/22 |
我們知道 Sam 的住所地址應該是London(假設客戶 ID 相同)。
如何根據第一行填充第三行?
資料:
{'Customer': ['Sam', 'Lina', 'Sam'],
'House Address': ['London', 'Manchester', nan],
'Date': ['10/01/22', '12/01/22', '15/01/22']}
uj5u.com熱心網友回復:
您可以groupby“客戶”并轉換first為“房屋地址”(first洗掉 NaN 值,因此只會為 Sam 選擇倫敦)。它回傳一個 DataFrame,該 DataFrame 具有與原始資料相同的索引,其中df填充了轉換后的第一個。
然后將其傳遞fillna給以填充“房屋地址”中的 NaN 值:
df['House Address'] = df['House Address'].fillna(df.groupby('Customer')['House Address'].transform('first'))
輸出:
Customer House Address Date
0 Sam London 10/01/22
1 Lina Sydney 12/01/22
2 Sam London 15/01/22
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427572.html
下一篇:將格式化字串轉換為熊貓資料框?
