如何在Python中使用熊猫基于两个参数对记录进行分组

时间:2019-03-30 22:04:03

标签: python pandas pandas-groupby

如果需要按记录的最小值进行分组,请执行以下操作

df.sort_values(['price']).drop_duplicates(['SKU']).to_csv('Min_Prices.csv',sep=';',index=False)

我明白了

    id  price   editor 
1   k1  8.0     ed2 
2   k3  10.0    ed1 
4   k2  10.5    ed1 

但是我还有另外一列可用性

    id  price  availability   editor
 1  k1  8.0    0              ed2
 2  k1  9.0    1              ed1
 3  k1  9.5    1              ed3
 4  k4  9.5    1              ed1
 5  k4  9.0    0              ed2
 6  k5  8.5    1              ed1
 7  k5  7.8    0              ed2

预期应该是

k1 9.0 ed1
k4 9.5 ed1
k5 8.5 ed1

那么如何才能获得价值1的最小值。在哪里可以在初始公式中插入可用性?

谢谢

1 个答案:

答案 0 :(得分:1)

我相信您需要boolean indexingDataFrame.query

df1 = df[df['availability'] == 1].sort_values(['price']).drop_duplicates(['id'])
#alternative
#df1 = df.query('availability == 1').sort_values(['price']).drop_duplicates(['id'])

print (df1)
   id  price  availability editor
6  k5    8.5             1    ed1
2  k1    9.0             1    ed1
4  k4    9.5             1    ed1

df1.to_csv('Min_Prices.csv',sep=';',index=False)