Select 每个名称每行仅保留最低值

Select 每个名称每行仅保留最低值,select,pandas,dataframe,Select,Pandas,Dataframe,我有一个熊猫数据框,如下所示: Name Value A 1 A 2 B 3 B 5 C 1 我只想保留那些值最低的行,但按名称 因此,结果应该如下所示: Name Value A 1 B 3 C 1 如何做到这一点?您可以将groupby与idxmin import pandas as pd # your data # ======================= df N

我有一个熊猫数据框,如下所示:

Name    Value
A       1
A       2
B       3
B       5
C       1
我只想保留那些值最低的行,但按名称

因此,结果应该如下所示:

Name    Value
A       1
B       3
C       1

如何做到这一点?

您可以将
groupby
idxmin

import pandas as pd

# your data
# =======================
df

  Name  Value
0    A      1
1    A      2
2    B      3
3    B      5
4    C      1

# processing
# =======================
df.groupby('Name', as_index=False).apply(lambda g: g.loc[g.Value.idxmin()])


  Name  Value
0    A      1
1    B      3
2    C      1
groupby
之后使用
.min()。
reset_index()
是可选的。如果不使用,
名称
列将位于索引中

 df_grouped = df.groupby('Name').min().reset_index() 
 df_grouped
     Name  Value
0    A      1
1    B      3
2    C      1