numpy库与pandas库axis=0,axis= 1轴的用法详解
程序员文章站
2022-06-03 17:45:30
对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值:
axis = 0 代表对横轴操作,也就是第0轴;
axis...
对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数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维数组,先最外层,然后一层一层按照先横轴再纵轴的逻辑进行匹配轴。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。