了解Pandas系列和数据框架中的apply()方法



我试图理解apply()方法如何与序列和数据框架一起使用。

如下所示,当np.max()函数与数据帧的apply()方法一起使用时,它将返回每列的最大值。但是当与级数一起使用时,它只是返回级数。我的期望是它会返回这个级数的最大值。也就是说,结果与series.max()相似。为什么apply()在系列和数据框架上的表现不同?

import pandas as pd
import numpy as np   

my_df = pd.DataFrame(np.random.randint(10, size=(4,3)), columns = list('ABC'))
my_df
Output:
A   B   C
0   2   4   7
1   9   6   6
2   4   4   8
3   8   8   1

df_max = my_df.apply(np.max)
df_max
Output:
A    9
B    8
C    8
dtype: int32
se_max = my_df['A'].apply(np.max)
se_max
Output:
0    2
1    9
2    4
3    8
Name: A, dtype: int32

默认情况下,apply沿着对象的第一个维度工作。在数据框中,第一个维度是垂直的,apply将函数应用于每一列。在序列中,第一个(也是唯一的)维度是水平的,apply将该函数应用于每一行。

相关内容

  • 没有找到相关文章

最新更新