熊猫中的轴是什么意思?

新手上路,请多包涵

这是我生成数据框的代码:

 import pandas as pd
import numpy as np

dff = pd.DataFrame(np.random.randn(1,2),columns=list('AB'))

然后我得到了数据框:

 +------------+---------+--------+
|            |  A      |  B     |
+------------+---------+---------
|      0     | 0.626386| 1.52325|
+------------+---------+--------+

当我输入命令时:

 dff.mean(axis=1)

我有 :

 0    1.074821
dtype: float64

根据熊猫的参考,axis = 1代表列,我希望命令的结果是

A    0.626386
B    1.523255
dtype: float64

所以这是我的问题:熊猫中的轴是什么意思?

原文由 jerry_sjtu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 718
2 个回答

指定计算平均值的轴。默认情况下 axis=0 。这与 明确 指定 axis 时的 numpy.mean 用法一致(在 numpy.mean 中,默认情况下,轴上的平均值 ==None,计算扁平数组) ,其中 axis=0 沿 _行_(即 pandas 中的 _索引_), axis=1 沿 _列_。 For added clarity, one may choose to specify axis='index' (instead of axis=0 ) or axis='columns' (instead of axis=1 ).

 +------------+---------+--------+
|            |  A      |  B     |
+------------+---------+---------
|      0     | 0.626386| 1.52325|----axis=1----->
+------------+---------+--------+
             |         |
             | axis=0  |
             ↓         ↓

原文由 zhangxaochen 发布,翻译遵循 CC BY-SA 3.0 许可协议

这些答案确实有助于解释这一点,但对于非程序员(即像我这样第一次在数据科学课程中学习 Python 的人)来说,它仍然不是很直观。我仍然发现对行和列使用术语“沿着”或“对于每个”会造成混淆。

对我来说更有意义的是这样说:

  • 轴 0 将作用于每个列中的所有行
  • 轴 1 将作用于每一行中的所有列

因此,轴 0 上的平均值将是每一列中所有行的平均值,而轴 1 上的平均值将是每一行中所有列的平均值。

归根结底,这与@zhangxaochen 和@Michael 说的是同一件事,但以一种让我更容易内化的方式。

原文由 Ken Wallace 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题