pandas axis=0 按行还是按列问题

@Robin_TY axis=0 到底是按行还是按列,但是下面的例子axis=0是按列,axis=1是按行,有点搞不清了
 a=[[1,2,3,4,5,6,7],[8,9,10,11,12,13,14],[51,52,53,54,55,56,57]]
df1=pd.DataFrame(a,columns= ['a', 'b', 'c', 'd', 'e', 'f','g'])
df1
    a   b   c   d   e   f   g
0   1   2   3   4   5   6   7
1   8   9  10  11  12  13  14
2  51  52  53  54  55  56  57
f=lambda x:x.max()
 
df1.apply(f,axis=0)
a    51
b    52
c    53
d    54
e    55
f    56
g    57
 
df1.apply(f,axis=1)
0     7
1    14
2    57
 
 
 

Robin_TY - PhD@CSU,研究方向:计算机视觉,模式识别

赞同来自: fish

根据官方文档:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.apply.html Objects passed to functions are Series objects having index either the DataFrame’s index (axis=0) or the columns (axis=1).  也就是说,axis=0表示将func作用在行索引上,axis=1表示将func作用在列索引上。 在你的数据中,df1.apply(f,axis=0)表示按行索引取出最大值,即取出每列的最大值。axis=1类似。

要回复问题请先登录注册