axis为轴的意思,但是在使用中如 :
np.argmax()
df.drop()
都会使用到axis参数,不同的axis(0,1)参数会得到不同的结果,这里对axis参数的理解做一个记录。
axis=1:表示水平方向的计算结果
axis=0:表示垂直方向的计算结果
import pandas as pd
df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \
columns=["col1", "col2", "col3", "col4"])
df
Out[4]:
col1 col2 col3 col4
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
当要删除某行或某列数据时:
df.drop('col1')
不传入axis参数,会报错:
Traceback (most recent call last):
File "F:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
df.drop('col1')
File "F:\Anaconda\lib\site-packages\pandas\core\generic.py", line 2050, in drop
new_axis = axis.drop(labels, errors=errors)
File "F:\Anaconda\lib\site-packages\pandas\core\indexes\base.py", line 3575, in drop
labels[mask])
axis=1时,需传入表头值,会在水平方向选择表头删除整列
df.drop('col1', axis=1)
Out[20]:
col2 col3 col4
0 1 1 1
1 2 2 2
2 3 3 3
axis=0时,需传入行号,会在垂直方向选择行号删除整行
f.drop(2, axis=0)
Out[21]:
col1 col2 col3 col4
0 1 1 1 1
1 2 2 2 2
2. Numpy
array=np.array([[1,3,2],[4,5,8],[10,0,3]])
array
Out[16]:
array([[ 1, 3, 2],
[ 4, 5, 8],
[10, 0, 3]])
np.argmax()来计算最大值的下标
axis=1时,为每行的最大值
axis=0时,为每列的最大值
不传axis时为整个矩阵最大值的顺序索引
np.argmax(array, axis=0)
Out[17]: array([2, 1, 1], dtype=int64)
np.argmax(array, axis=1)
Out[18]: array([1, 2, 0], dtype=int64)
np.argmax(array)
Out[22]: 6