簡體   English   中英

Pandas Dataframe 查找

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM