python中axis=0和axis=1的问题记录

老子叫甜甜 提交于 2020-02-27 01:35:01

之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是:

0轴垂直往下,1轴向右水平延伸。

啥意思??
尝试一下好了

import numpy as np
import pandas as pd

tmp = np.random.randint(1,10,12).reshape(3,4)
tmp
#1到10随机生成12个整数,并重组成3行4列的数组
array([[5, 6, 4, 4],
       [2, 7, 2, 9],
       [2, 4, 1, 9]])
       
tmp.sum(axis = 1)
#这里可以看出来,其实就是把每行加总了,axis = 1时向右水平延伸计算
array([19, 20, 16])

tmp.max(axis=1)
#同样的,axis = 1时,水平方向寻找最大的值
array([6, 9, 9])

np.insert(tmp, 1, 0, axis = 1)
#同样还是按照水平方向插入值,即第二列插入一个全零的值
array([[5, 0, 6, 4, 4],
       [2, 0, 7, 2, 9],
       [2, 0, 4, 1, 9]])

tmp1 = pd.DataFrame(tmp)
tmp1.drop(1,axis = 1)
#当axis = 1时,同样还是沿着水平方向进行删除,即删掉了第二列

	0	2	3
0	5	4	4
1	2	2	9
2	2	1	9

axis = 0的时候,就是沿着纵轴的方向从上到下进行数学运算,在删减操作体现出来的话就是行的变化。

axis = 1的时候,就是沿着横轴的方向水平进行数学运算,在删减操作上体现出来的话就是列的变化

若有不对的地方还请指正~谢谢

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!