Pandas的axis参数怎么理解?
- axis=0或者"index":
- 如果是单行操作,就指的是某一行
- 如果是聚合操作,指的是跨行cross rows
- axis=1或者"columns":
- 如果是单列操作,就指的是某一列
- 如果是聚合操作,指的是跨列cross columns
按哪个axis,就是这个axis要动起来(类似被for遍历),其它的axis保持不动
1、数据准备
import pandas as pd
import numpy as np
df = pd.DataFrame(
np.arange(12).reshape(3,4),
columns=['A', 'B', 'C', 'D']
)
print(df)
2、单列drop,就是删除某一列
a = df.drop("A",axis = 1)
print(a)
3、删除某一行,注意变量为a,不是df,代码分开写,但是前后关联
b = a.drop(1,axis = 0)
print(b)
4、按axis=0/index执行mean聚合操作,与第二、第三步代码无关
c = df.mean(axis = 0)
print(c)
d = df.mean(axis = 1)
print(d)
def get_sum_value(x):
return x["A"] + x["B"] + x["C"] + x["D"]
df["sum_value"] = df.apply(get_sum_value,axis = 1)
print(df)