numpy库与pandas库axis=0,axis= 1轴的用法详解
对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值:
- axis = 0 代表对横轴操作,也就是第0轴;
- axis = 1 代表对纵轴操作,也就是第1轴;
numpy库中横轴、纵轴 axis 参数实例详解:
In [1]: import numpy as np #生成一个3行4列的数组 In [2]: a = np.arange(12).reshape(3,4) In [3]: a Out[3]: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) #axis= 0 对a的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算 In [4]: a.sum(axis = 0) Out[4]: array([12, 15, 18, 21]) #axis= 1 对a的纵轴进行操作,在运算的过程中其运算的方向表现为横向运算 In [5]: a.sum(axis = 1) Out[5]: array([ 6, 22, 38])
pandas库DataFrame中横轴、纵轴 axis 参数实例详解:
In [8]: b = pd.DataFrame(np.arange(24).reshape(4,6)) In [9]: b Out[9]: 0 1 2 3 4 5 0 0 1 2 3 4 5 1 6 7 8 9 10 11 2 12 13 14 15 16 17 3 18 19 20 21 22 23 #axis= 0 对b的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算 In [10]: b.sum(axis = 0) Out[10]: 0 36 1 40 2 44 3 48 4 52 5 56 dtype: int64 #axis= 1 对b的横轴进行操作,在运算的过程中其运算的方向表现为纵向运算 In [11]: b.sum(axis = 1) Out[11]: 0 15 1 51 2 87 3 123 dtype: int64
pandas库panel中axis 参数实例详解:
In [18]: np.arange(24).reshape(2,3,4) Out[18]: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) #生成面板数据 In [19]: c = pd.Panel(np.arange(24).reshape(2,3,4)) In [24]: c Out[24]: <class 'pandas.core.panel.Panel'> Dimensions: 2 (items) x 3 (major_axis) x 4 (minor_axis) Items axis: 0 to 1 Major_axis axis: 0 to 2 Minor_axis axis: 0 to 3 #对Items axis轴的数据进行操作,也就是panel里面的0轴: In [20]: c.sum(axis = 0) Out[20]: 0 1 2 3 0 12 14 16 18 1 20 22 24 26 2 28 30 32 34 对Major_axis axis轴的数据进行操作 In [21]: c.sum(axis = 1) Out[21]: 0 1 0 12 48 1 15 51 2 18 54 3 21 57 对Minor_axis axis轴的数据进行操作 In [22]: c.sum(axis = 2) Out[22]: 0 1 0 6 54 1 22 70 2 38 86
如果是2维数组,先横轴后纵轴;如果是3维数组,先最外层,然后一层一层按照先横轴再纵轴的逻辑进行匹配轴。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。