熊猫数据框中满足条件的最小值

时间:2020-02-24 11:54:04

标签: pandas min

我有一个数据框;

Date     Price  Product
1/1/12   22       Pen
1/2/12   44      Paper
1/2/12   33      Paper
1/3/12   34      Paper

如果日期和产品重复,我想取最小值。

所以预期的输出是

Date     Price  Product
1/1/12   22       Pen
1/2/12   33      Paper
1/3/12   34      Paper

我很高兴将数据保留为平面文件格式或创建时间序列数据透视表。

我目前唯一看到的选择是按价格(从最高到最低)排序,然后删除重复项并保持“最后”。但热衷于探索是否有更好的方法可以做到这一点

2 个答案:

答案 0 :(得分:2)

df.sort_values('Price', ascending=False).groupby(['Date','Product'],sort=False).last()


                Price
Date    Product 
1/2/12  Paper   33
1/3/12  Paper   34
1/1/12  Pen     22

cs95的反馈是准确的。

答案 1 :(得分:1)

您可以先按价格排序,然后再按日期和产品删除重复项。

df.sort_values(by=['Price']).drop_duplicates(subset=['Date', 'Product'])


    Date    Price   Product
0   1/1/12  22      Pen
2   1/2/12  33      Paper
3   1/3/12  34      Paper