Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找多个最小值并在中添加新列_Python_Pandas - Fatal编程技术网

Python 查找多个最小值并在中添加新列

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,如下所示

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]

太好了,这正是我要找的!非常感谢!