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维数组,先最外层,然后一层一层按照先横轴再纵轴的逻辑进行匹配轴。

以上是 numpy库与pandas库axis=0,axis= 1轴的用法详解 的全部内容, 来源链接: utcz.com/z/328523.html

回到顶部