【发布时间】:2018-06-02 14:02:05
【问题描述】:
我正在处理带有商品价格的 pandas 数据框 df1。
Item Price Minimum Most_Common_Price
0 Coffee 1 1 2
1 Coffee 2 1 2
2 Coffee 2 1 2
3 Tea 3 3 4
4 Tea 4 3 4
5 Tea 4 3 4
我创建Minimum 使用:
df1["Minimum"] = df1.groupby(["Item"])['Price'].transform(min)
如何创建Most_Common_Price?
df1["Minimum"] = df1.groupby(["Item"])['Price'].transform(value_counts()) # Doesn't work
目前,我使用多步骤方法:
for item in df1.Item.unique().tolist(): # Pseudocode
df1 = df1[df1.Price == Item] # Pseudocode
df1.Price.value_counts().max() # Pseudocode
这是矫枉过正。一定有更简单的方法,最好是一行
如何在 pandas 中 groupby().transform() 到 value_counts()?
【问题讨论】:
标签: python pandas dataframe group-by pandas-groupby