numpy和pandas中参数axis的用法
numpy和pandas中axis的用法是一致的,但总是搞不清楚axis=0和axis=1的区别
如下
import pandas as pd
data = {"name": ["a", "b", "c", "d"], "age": [10, 20, 50, 15], "score": [98, 45, 25, 10]}
df = pd.DataFrame(data)
print(df)
print("求和")
print(df.sum(axis=0)) # 列求和
print(df.sum(axis=1)) # 行求和
结果:
name age score
0 a 10 98
1 b 20 45
2 c 50 25
3 d 15 10
求和
name abcd
age 95
score 178
dtype: object
0 108
1 65
2 75
3 25
dtype: int64
上述代码显示:axis=0的时候是对列求和,axis=1时对行求和
我们再看看drop操作
print(df.drop("name", axis=1))
结果:
age score
0 10 98
1 20 45
2 50 25
3 15 10
当使用drop时删除“name”所在列时,使用axis=0会报错,axis=1才能正常操作
这儿又出现了axis=1对列操作
但其实axis参数的用法都参照一种规则“轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸”
在第一个样例中
axis=0求和,即首先沿着行遇到“name”然后再垂直向下求和,“name”列完成后,继续沿行进行
axis=1求和,即首先沿着列遇到0然后水平延伸求和,0行求和完再沿列继续执行求和操作
第二个删除命令中
axis=1,即沿列删除“name”中对应的元素