Pandas库中axis参数在学习初期困扰过很多人。
由于其axis概念脱胎于numpy,可以借助ndarray来辅助理解。
但是对于高中的信息技术考生来说,用“形而上学”的方法记忆会方便很多,下面将介绍我总结的几条“形而上”的规律:
〇、总体逻辑
axis=0或者"index":
\quad 如果是单行操作,就指的是某一行
\quad 如果是聚合操作,指的是跨行 cross rows
axis=1或者"columns"
\quad 如果是单列操作,就指的是某一列
\quad 如果是聚合操作,指的是跨列 cross columns
import pandas as pd
import numpy as np
num=np.random.randint(5, size=(3, 4)) # 数据
col = [f'col_{i}' for i in range(4)] # 列名
ind = [f'row_{i}' for i in range(3)] # 索引
df=pd.DataFrame(data=num,index=ind,columns=col)
一、单列操作
单列drop,就是删除某一列
df.drop('col_1',axis=1)
记忆:“1”长得和一竖相似,就是“列”
二、单行操作
单行drop,就是删除某一行
df.drop('row_1',axis=0)
三、多列聚合操作,跨列
按axis=1/columns执行mean聚合操作
反直觉:输出的不是每行的结果,而是每列的结果
df.mean(axis=1)
记忆:跨列“梳”出结果
四、多行聚合操作,跨行
按axis=0/index执行mean聚合操作
反直觉:输出的不是每列的结果,而是每行的结果
df.mean(axis=0)
想详细了解ndarray可以看看这位大佬的文章https://blog.csdn.net/sinat_32570141/article/details/109725783?spm=1001.2014.3001.5506