如何为所选列连续选择最大值和最小值

时间:2017-01-03 08:37:50

标签: python pandas

我们说我们有下表 enter image description here

我希望找到一组特定列的每一行的最大值和最小值(让我们说CENSUS2010POP,ESTIMATESBASE1010,POPESTIMATE2010)。 如何用熊猫做到这一点?

1 个答案:

答案 0 :(得分:5)

我认为您需要minmax

df_subset=df.set_index('CTYNAME')[['CENSUS2010POP', 'ESTIMATESBASE1010', 'POPESTIMATE2010']]
df1 = df_subset.min(axis=1)
print (df1)

df2= df_subset.max(axis=1)
print (df2)

编辑:

df = pd.DataFrame({'CTYNAME':['Alabama','Autauga County','Baldwin County','Barbour County'],
                   'CENSUS2010POP':[4,5,6,2],
                   'ESTIMATESBASE1010':[7,8,9,3],
                   'POPESTIMATE2010':[1,3,5,5]})

print (df)
   CENSUS2010POP         CTYNAME  ESTIMATESBASE1010  POPESTIMATE2010
0              4         Alabama                  7                1
1              5  Autauga County                  8                3
2              6  Baldwin County                  9                5
3              2  Barbour County 

df_subset=df.set_index('CTYNAME')[['CENSUS2010POP', 'ESTIMATESBASE1010', 'POPESTIMATE2010']]
df1 = df_subset.max(axis=1) - df_subset.min(axis=1)
print (df1)
CTYNAME
Alabama           6
Autauga County    5
Baldwin County    4
Barbour County    3
dtype: int64

print (df1.nlargest(1).reset_index(name='top1'))
   CTYNAME  top1
0  Alabama     6