转自:http://blog.csdn.net/wangying19911991/article/details/73928172
https://www.zhihu.com/question/58993137
python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:
>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \
columns=["col1", "col2", "col3", "col4"])
>>>df
col1 col2 col3 col4
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
如果我们调用df.mean(axis=1),我们将得到按行计算的均值
>>> df.mean(axis=1)
0 1
1 2
2 3
然而,如果我们调用 df.drop((name, axis=1),我们实际上删掉了一列,而不是一行:
>>> df.drop("col4", axis=1)
col1 col2 col3
0 1 1 1
1 2 2 2
2 3 3 3
Can someone help me understand what is meant by an "axis" in pandas/numpy/scipy?
有人能帮我理解一下,在pandas、numpy、scipy三都当中axis参数的真实含义吗?
投票最高的答案揭示了问题的本质:
其实问题理解axis有问题,df.mean其实是在每一行上取所有列的均值,而不是保留每一列的均值。也许简单的来记就是axis=0代表往跨行(down),而axis=1代表跨列(across),作为方法动作的副词(译者注)
换句话说:
- 使用0值表示沿着每一列或行标签\索引值向下执行方法
- 使用1值表示沿着每一行或者列标签模向执行对应的方法
下图代表在DataFrame当中axis为0和1时分别代表的含义:
另外,记住,Pandas保持了Numpy对关键字axis的用法,用法在Numpy库的词汇表当中有过解释:
轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。
所以问题当中第一个列子 df.mean(axis=1)代表沿着列水平方向计算均值,而第二个列子df.drop(name, axis=1) 代表将name对应的列标签(们)沿着水平的方向依次删掉。
相关推荐
主要介绍了Python之NumPy(axis=0 与axis=1)区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是: 0轴垂直往下,1轴向右水平延伸。 啥意思?? 尝试一下好了 ...
pythonnumpy教程_PythonNumpy库常见⽤法⼊门教程 本⽂实例讲述了Python Numpy库常见⽤法。分享给⼤家供⼤家参考,具体如下: 1、简介 Numpy是⼀个常⽤的Python科学技术库,通过它可以快速对数组进⾏操作,包括形状...
axis=-1,0,1的含义 axis的本意是轴的意思。 在python中,axis代表的是多维数组中数据操作的方向。 举例说明,在pycharm环境创建一个三维数组: import numpy as np import tensorflow as tf b = np.arange(27)....
index_max = np.argmax(x, axis=1)# 其中,axis=1表示按行计算 print(index_max.shape) max = x[range(x.shape[0]), index_max] print(max) # 注意到这里返回的是行向量 # 这可以是一种通用的方法, # 其中range()...
如果要求按行的非零元素的平均值,把所有的 axis=1改成axis=0 补充知识:python dataframe 统计行列中零值的个数 1、按行统计,返回为一个series: (df == 0).astype(int).sum(axis=1) 以上这篇py
补充知识:python numpy.mean() axis参数使用方法【sum(axis=*)是求和,mean(axis=*)是求平均值】 如下所示: import numpy as np X = np.array([[1, 2], [4, 5], [7, 8]]) print(np.mean(X, axis=0, keepdims=True...
numpy.set_printtoptions(edgeitems=5):值过多,显示前5个和后5个 偏度:衡量随机分布的不均衡性,偏度=0,...mu = np.mean(x, axis=0) sigma = np.std(x, axis=0) skew = stats.skew(x) kurtosis = stats.kurtosis(x)
numpy.ptp() 是计算最大值与最小值差的函数,用法如下: import numpy as np a = np.array([np.random.randint(0, 20, 5), np.random.randint(0, 20, 5)]) print('原始数据\n'a) print('对所有数据计算\n', a.ptp()...
如下所示: import numpy as np Z=np.random.random((5,... 您可能感兴趣的文章:详解python实现数据归一化处理的方式:(0,1)标准化Python数据预处理之数据规范化(归一化)示例python 实现对数据集的归一化的方法(0-
1、axis = 0 如果是单行操作,就是指某一行 如果是聚合操作,指的就是跨行 file:///D:/Python39/envs/pydata/教材配套代码/模块四 数据处理Pandas/4.4 pandas的统计功能.html 1/9 2022/3/6 4.4 pandas 的统计功能 2...
axis:计算哪个轴上的中位数,比如输入是二维数组,那么axis=0对应行,axis=1对应列; out:用于放置求取中位数后的数组。 它必须具有与预期输出相同的形状和缓冲区长度; overwrite_input:一个bool型的参数,默认...
定义numpy数组为data = np.array([1,2,3,4]) 常用计算函数 计算函数 说明 备注 data.mean(axis=0) 求平均值 axis=0:按每行的平均值 data.sum(axis=0) 求和 思路同上 data.cumsum(axis=0) 累加 思路同上 ...
《Python金融数据分析》复习资料(1)全文共2页,当前为第1页。《Python金融数据分析》复习资料(1)全文共2页,当前为第1页。《Python金融数据分析》复习资料 《Python金融数据分析》复习资料(1)全文共2页,当前为第1页...
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的。指定权重后,average可以计算一维的加权平均值。 具体如下: ...print('axis=0,按行方向计算,即每列\n', a.mean(axis=0)) #
normalized_train_data=(data_train-np.mean(data_train,axis=0))/np.std(data_train,axis=0) #标准化 train_x,train_y=[],[] #训练集 for i in range(len(normalized_train_data)-time_step): if i % batch_...
Python数据分析基础教程/王斌会 第三章 Python编程分析基础 - 3.1Python的数据类型 - 3.2数值分析库numpy 3.2.1⼀维数组 其他有帮助的⽣成数: np.random.randint(1,9) #1~9随机数 np.random.rand(10) #10个均匀...
Numpy 练习题 1、arr11 = 5-np.arange(1,13).reshape(4,3), 计算所有元素及每一列的和;对每一 个元素、每一列求累积和;计算每一行的累计积;...b = np.sum(arr11,axis = 0) #对每一列求和 c = np.sum(arr11,
三、numpy中数组操作函数 数组组合函数 将ndarray对象构成的元组作为参数输⼊ (1)⽔平组合:hstack((a,b)) 或者concatenate((a,b),axis=1) (2)垂直组合:vstack((a,b)) 或者concatenate((a,b),axis=0) (3)列组合:...