`
kavy
  • 浏览: 868387 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python之NumPy(axis=0 与axis=1)区分

 
阅读更多

Python之NumPy(axis=0 与axis=1)区分

 

转自: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时分别代表的含义:


 
axis参数作用方向图示

另外,记住,Pandas保持了Numpy对关键字axis的用法,用法在Numpy库的词汇表当中有过解释:

轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。

所以问题当中第一个列子 df.mean(axis=1)代表沿着列水平方向计算均值,而第二个列子df.drop(name, axis=1) 代表将name对应的列标签(们)沿着水平的方向依次删掉。

分享到:
评论

相关推荐

    Python之NumPy(axis=0 与axis=1)区分详解

    主要介绍了Python之NumPy(axis=0 与axis=1)区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

    之前一直搞不清axis = 0 和 axis = 1 之间的区别,一会是按行求和,一会是按列遍历,那到底axis是咋操作的呢?查找了些资料,发现了一种很好的解释就是: 0轴垂直往下,1轴向右水平延伸。 啥意思?? 尝试一下好了 ...

    pythonnumpy教程-PythonNumpy库常见用法入门教程.pdf

    pythonnumpy教程_PythonNumpy库常见⽤法⼊门教程 本⽂实例讲述了Python Numpy库常见⽤法。分享给⼤家供⼤家参考,具体如下: 1、简介 Numpy是⼀个常⽤的Python科学技术库,通过它可以快速对数组进⾏操作,包括形状...

    axis=-1,0,1的含义

    axis=-1,0,1的含义 axis的本意是轴的意思。 在python中,axis代表的是多维数组中数据操作的方向。 举例说明,在pycharm环境创建一个三维数组: import numpy as np import tensorflow as tf b = np.arange(27)....

    python+numpy按行求一个二维数组的最大值方法

    index_max = np.argmax(x, axis=1)# 其中,axis=1表示按行计算 print(index_max.shape) max = x[range(x.shape[0]), index_max] print(max) # 注意到这里返回的是行向量 # 这可以是一种通用的方法, # 其中range()...

    python求numpy中array按列非零元素的平均值案例

    如果要求按行的非零元素的平均值,把所有的 axis=1改成axis=0 补充知识:python dataframe 统计行列中零值的个数 1、按行统计,返回为一个series: (df == 0).astype(int).sum(axis=1) 以上这篇py

    Python过滤掉numpy.array中非nan数据实例

    补充知识: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...

    python 计算数据偏差和峰度的方法

    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)

    浅谈Python3 numpy.ptp()最大值与最小值的差

    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()...

    python numpy 按行归一化的实例

    如下所示: import numpy as np Z=np.random.random((5,... 您可能感兴趣的文章:详解python实现数据归一化处理的方式:(0,1)标准化Python数据预处理之数据规范化(归一化)示例python 实现对数据集的归一化的方法(0-

    Python数据分析实践:pandas的统计功能new.pdf

    1、axis = 0 如果是单行操作,就是指某一行 如果是聚合操作,指的就是跨行 file:///D:/Python39/envs/pydata/教材配套代码/模块四 数据处理Pandas/4.4 pandas的统计功能.html 1/9 2022/3/6 4.4 pandas 的统计功能 2...

    Python数据处理numpy.median的实例讲解

    axis:计算哪个轴上的中位数,比如输入是二维数组,那么axis=0对应行,axis=1对应列; out:用于放置求取中位数后的数组。 它必须具有与预期输出相同的形状和缓冲区长度; overwrite_input:一个bool型的参数,默认...

    Numpy的一些基础

    定义numpy数组为data = np.array([1,2,3,4]) 常用计算函数 计算函数 说明 备注 data.mean(axis=0) 求平均值 axis=0:按每行的平均值 data.sum(axis=0) 求和 思路同上 data.cumsum(axis=0) 累加 思路同上 ...

    《Python金融数据分析》复习资料(1).docx

    《Python金融数据分析》复习资料(1)全文共2页,当前为第1页。《Python金融数据分析》复习资料(1)全文共2页,当前为第1页。《Python金融数据分析》复习资料 《Python金融数据分析》复习资料(1)全文共2页,当前为第1页...

    在Python3 numpy中mean和average的区别详解

    mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的。指定权重后,average可以计算一维的加权平均值。 具体如下: ...print('axis=0,按行方向计算,即每列\n', a.mean(axis=0)) #

    lstm预测-python

    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数据分析基础教程王斌会第三章Python编程分析基础.pdf

    Python数据分析基础教程/王斌会 第三章 Python编程分析基础 - 3.1Python的数据类型 - 3.2数值分析库numpy 3.2.1⼀维数组 其他有帮助的⽣成数: np.random.randint(1,9) #1~9随机数 np.random.rand(10) #10个均匀...

    Python科学计算(Numpy基础练习题)

    Numpy 练习题 1、arr11 = 5-np.arange(1,13).reshape(4,3), 计算所有元素及每一列的和;对每一 个元素、每一列求累积和;计算每一行的累计积;...b = np.sum(arr11,axis = 0) #对每一列求和 c = np.sum(arr11,

    《python数据分析基础教程》.pdf

    三、numpy中数组操作函数 数组组合函数 将ndarray对象构成的元组作为参数输⼊ (1)⽔平组合:hstack((a,b)) 或者concatenate((a,b),axis=1) (2)垂直组合:vstack((a,b)) 或者concatenate((a,b),axis=0) (3)列组合:...

Global site tag (gtag.js) - Google Analytics