numpy中的Axis轴
Axis 在二维的时候指定是跨行还是跨列计算:
axis=0
指定跨行计算,锁定的是不同行的一整列的数据axis=1
指定跨列计算,锁定的是不同列的一整行的数据
import numpy as np
arr = np.array([[1,2], [3,4], [5,6]])
print(arr)
#[[1 2]
#[3 4]
#[5 6]]
# axis=0 是跨行计算,参与计算的是那一整列的数据,最终每列得到一个数字
print(arr.sum(axis=0))
# [ 9 12]
# axis=1 是跨列计算,参与计算的是那一整行的数据,最终每行得到一个数字
print(arr.sum(axis=1))
# [ 3 7 11]
注意区别Axis不仅仅用来表达跨行
或者跨列
也用来表示 行方向
或者列方向
:
import pandas as pd
import numpy as np
print(pd.DataFrame(data=np.array([[1,2], [3,4], [5,6]]), columns=['c1', 'c2']))
"""
c1 c2
0 1 2
1 3 4
2 5 6
"""
# 沿着x轴删除,指定axis=0
print(pd.DataFrame(data=np.array([[1,2], [3,4], [5,6]]), columns=['c1', 'c2']).drop(0, axis=0))
"""
c1 c2
1 3 4
2 5 6
"""
# 沿着y轴删除,指定axis=1
"""
c2
0 2
1 4
2 6
"""