Hello Stackoverflow社区!
我已经尝试找到我的问题的答案,但没有成功。我基本上试图从excel复制MinIF公式,但到目前为止我只是设法为" 1"一次排。这是我想要实现的一个例子:
这个想法是,对于具有相同子组的所有产品,找到该组的最低值/价格,并将其插入到其旁边的新列中。 我希望我足够具体,我对python相对较新,而且我根本不知道如何开始......
非常感谢,谢谢。
答案 0 :(得分:1)
我认为你需要transform
:
df['SubGroupLowestPrice'] = df.groupby('SubGroup')['Price'].transform('min')
样品:
df = pd.DataFrame({'A':[1,2,3,4,5,5],
'SubGroup':[1,5,5,6,6,6],
'Price':[7,8,9,10,2,3]})
print (df)
A Price SubGroup
0 1 7 1
1 2 8 5
2 3 9 5
3 4 10 6
4 5 2 6
5 5 3 6
df['SubGroupLowestPrice'] = df.groupby('SubGroup')['Price'].transform('min')
print (df)
A Price SubGroup SubGroupLowestPrice
0 1 7 1 7
1 2 8 5 8
2 3 9 5 8
3 4 10 6 2
4 5 2 6 2
5 5 3 6 2