[英]Pandas Dataframe lookup
我有一個 pandas dataframe 看起來像這樣
類別 | 父類別 | 描述 |
---|---|---|
2個 | 1個 | 福 |
4個 | 1個 | 酒吧 |
5個 | 9 | 嘶嘶聲 |
1個 | 0 | 嗡嗡聲 |
9 | 0 | 福巴 |
我正在尋找一個優雅的解決方案(無需循環執行以下操作的iteritems()
:對於具有父類別的每個類別row1
通過查找一行( row2
) 的類別編號等於其他行的父類別,而它自己的父類別等於 0。
例如,查找后 df 應該如下所示:
類別 | 父類 | 描述 |
---|---|---|
2個 | 嗡嗡聲 | 福 |
4個 | 嗡嗡聲 | 酒吧 |
5個 | 福巴 | 嘶嘶聲 |
1個 | 0 | 嗡嗡聲 |
9 | 0 | 福巴 |
進行此查找的最“像熊貓”的最佳方式是什么?
如果你有一本字典,其中鍵是類別,值是描述,你可以在Parent Category
上使用map
來進行替換。
import pandas as pd
df = pd.DataFrame({'Category': {0: 2, 1: 4, 2: 5, 3: 1, 4: 9},
'Parent Category': {0: 1, 1: 1, 2: 9, 3: 0, 4: 0},
'Description': {0: 'Foo', 1: 'Bar', 2: 'Fizz', 3: 'Buzz', 4: 'Foobar'}})
df['Parent Category'] = df['Parent Category'].map(df.set_index('Category')['Description'].to_dict()).fillna(0)
Output
Category Parent Category Description
0 2 Buzz Foo
1 4 Buzz Bar
2 5 Foobar Fizz
3 1 0 Buzz
4 9 0 Foobar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.