簡體   English   中英

Pandas 創建一個新列,該列采用最常見的項目描述給定項目代碼

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

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