[英]Pandas Create a new Column which takes the Most Frequent item Description given Item Codes
我有一個看起來像這樣的 dataframe:
團體 | UPC | 描述 |
---|---|---|
246 | 1234568 | 薯條燒烤 |
158 | 7532168 | 谷物蜂蜜 |
246 | 9876532 | 薯片番茄醬 |
665 | 8523687 | 草莓醬 |
246 | 1234568 | 薯條燒烤 |
158 | 5553215 | 麥片巧克力 |
我想將項目的描述替換為基於組 # 的最常見描述,或者如果有平局,則使用第一個實例。
所以在上面的例子中:Chips Ketchup(1 個實例)被 Chips BBQ(2 個實例)替換,Cereal Chocolate 被 Cereal Honey(第一個實例)替換。
所需的 output 將是:
團體 | UPC | 描述 |
---|---|---|
246 | 1234568 | 薯條燒烤 |
158 | 7532168 | 谷物蜂蜜 |
246 | 9876532 | 薯條燒烤 |
665 | 8523687 | 草莓醬 |
246 | 1234568 | 薯條燒烤 |
158 | 5553215 | 谷物蜂蜜 |
如果這太復雜了,我可以滿足於簡單地替換第一個實例而不考慮頻率。
提前致謝
您可以使用
df['Description'] = df.groupby('Group')['Description'].transform(lambda s: s.value_counts().index[0])
似乎Series.value_counts
(與我也嘗試過的 Series.mode 不同)對第一次出現時出現相同次數的元素進行Series.mode
。 這種行為沒有記錄,所以我不確定你是否可以依賴它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.