目标是在订单最少时选择独特的产品。
import pandas as pd
df = pd.DataFrame({'Order': [1,2,3],
'Product':['Apple','Apple','Orange'],
'Metric': ['20 x 2 g','20 x 2 g','23 x 2 g']})
df
Order Product Metric
0 1 Apple 20 x 2 g
1 2 Apple 20 x 2 g
2 3 Orange 23 x 2 g
预期输出:
要在订单号 1 处选择 Apple、公制 20 x 2g,因为其订单是最小的。
Order Product Metric
0 1 Apple 20 x 2 g
1 3 Orange 23 x 2 g
请告诉我您的看法。谢谢!
最佳答案
使用DataFrame.sort_values
与 groupby.first
:
df.sort_values('Order').groupby('Metric',as_index=False).first()
df.sort_values('Order').drop_duplicates('Metric',keep = 'first')
输出:
Order Product Metric
0 1 Apple 20 x 2 g
1 3 Orange 23 x 2 g
关于python - 根据最小订单选择独特的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492515/