pandas dataframe对象中,如何计算一行或者一列内最大值和和最小值的差?使用apply函数实现

1.创建一个dataframe函数用来测试,代码如下

df1=pd.DataFrame(np.arange(16).reshape(4,4),
                 index = pd.date_range('20200101', periods = 4),  
                 columns=list('ABCD'))

打印出来看一下df1的样子:

2.查看每一列中:列中最大的值与最小的值的差

思路是使用apply函数+lambda函数实现。

函数apply将作用在dataframe的列上,使用lambda函数对列的最大值或者最小值操作。

代码如下,axis = 0标明操作的是列对象, x.max()为列中的最大值, x.min()为列中的最小值:

df1.apply(lambda x: x.max() - x.min(), axis = 0)

输出结果如下,A列最大值12-0==12,证明结果是正确的:

好了,列的最大值和最小值的差,我们计算出来了。哪dataframe中行的最大值与最小值的差,如何计算呢?

df1.apply(lambda x: x.max() - x.min(), axis = 1)

只要将axis=1就好了,这标明函数是对dataframe函数的行进行操作的。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐