在python中查找三列的最大值和最小值

2024-09-30 01:36:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何找出python中三列的最大值和最小值之间的差异。(列名称为POPESTIMATE2010-POPESTIMATE2012) 那么我应该在我所有的记录中找到最大的结果。 换言之,2010-2012年期间,哪个县的人口绝对变化最大?在

例如,如果三年内的县域人口为100、80、130,则这一时期的最大变化为| 130-80 |=50。在

enter image description here 这是我的代码:

import pandas as pd
census_df = pd.read_csv('census.csv')

def answer_one():
    return ((census_df['POPESTIMATE2010'],census_df ['POPESTIMATE2011'],census_df ['POPESTIMATE2012']).max()-(census_df['POPESTIMATE2010'],census_df ['POPESTIMATE2011'],census_df ['POPESTIMATE2012']).min()).max()

answer_one()

Tags: csv代码answerdf记录差异onemax
3条回答

max(list)提供列表中的max元素。在

min(list)提供列表中的min元素。在

剩下的我想应该很容易理解!在

import pandas as pd
d = {'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]}
df = pd.DataFrame(d)

def answer_one():
    max_1 = max(df.max())
    min_1 = min(df.min())
    return max_1 - min_1

print answer_one()

如果要使用一组选定的列:

^{pr2}$

我不确定最终结果是什么,但是如果您想得到max和{}值之间最大差异的列,那么可以这样做:

>>> df = pd.DataFrame({'a':[3,4,6], 'b':[22,15,6], 'c':[7,18,9]})
>>> df
   a   b   c
0  3  22   7
1  4  15  18
2  6   6   9
>>> diff = df.max() - df.min()
>>> diff
a     3
b    16
c    11
dtype: int64
>>> diff.nlargest(1)
b    16
dtype: int64

如果你只需要一个号码

^{pr2}$

如果您想得到每一行的最大值和最小值之间的差异,那么只需在不同的axis上执行该操作:

>>> diff = df.max(axis=1) - df.min(axis=1)
>>> diff
0    19
1    14
2     3
>>> diff.max()
19

相关问题 更多 >

    热门问题