如何为选定的列在一行中选择最大值和最小值 [英] How to select max and min value in a row for selected columns

查看:108
本文介绍了如何为选定的列在一行中选择最大值和最小值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

让我们说我们有下表

Let us say we have the following table

,我想找到一组特定列(假设为CENSUS2010POP,ESTIMATESBASE1010,POPESTIMATE2010)的每一行的最大值和最小值. 熊猫怎么做?

and I want to find max and min value for every row for a set of specific columns (let's say CENSUS2010POP, ESTIMATESBASE1010, POPESTIMATE2010). How to do it with Pandas?

推荐答案

我认为您需要

I think you need min and max:

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

这篇关于如何为选定的列在一行中选择最大值和最小值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆