Python 查找多个最小值并在中添加新列
我有一个熊猫df,如下所示Python 查找多个最小值并在中添加新列,python,pandas,Python,Pandas,我有一个熊猫df,如下所示 df = pd.DataFrame({'Amount': [1,2,3,4,6,7], 'Name': ['person1', 'person1' ,'person2' ,'person2','person3','person3'],}) 我想做的是创建第三列,显示每个人的最低金额。最有效的方法是什么?该键正在使用,它非常有用,因此我强烈建议您阅读链接在此处的文档部分。您可以获得一个系列,其中包含每个人的最小值: >&g
df = pd.DataFrame({'Amount': [1,2,3,4,6,7],
'Name': ['person1', 'person1' ,'person2' ,'person2','person3','person3'],})
我想做的是创建第三列,显示每个人的最低金额。最有效的方法是什么?该键正在使用,它非常有用,因此我强烈建议您阅读链接在此处的文档部分。您可以获得一个系列
,其中包含每个人的最小值:
>>> df.groupby("Name")["Amount"].min()
Name
person1 1
person2 3
person3 6
Name: Amount, dtype: int64
或与数据帧相同的信息:
>>> df.groupby("Name", as_index=False)["Amount"].min()
Name Amount
0 person1 1
1 person2 3
2 person3 6
[3 rows x 2 columns]
或者,如果您确实想将列添加到原始数据帧中,您可以使用transform
:
>>> df["Minimum_Amount"] = df.groupby("Name")["Amount"].transform('min')
>>> df
Amount Name Minimum_Amount
0 1 person1 1
1 2 person1 1
2 3 person2 3
3 4 person2 3
4 6 person3 6
5 7 person3 6
[6 rows x 3 columns]
太好了,这正是我要找的!非常感谢!