Pandas的轴心是什么意思?

2024-03-29 11:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是生成数据帧的代码:

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

根据pandas的引用,axis=1代表列,我希望命令的结果是

A    0.626386
B    1.523255
dtype: float64

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


Tags: 数据代码import命令numpydataframepandasas
3条回答

这些答案确实有助于解释这一点,但对于非程序员(比如像我这样第一次在数据科学课程背景下学习Python的人)来说,这仍然不是完全直观的。我仍然觉得使用术语“along”或“for each”对行和列进行wrt会令人困惑。

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

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

所以0轴上的平均值是每列中所有行的平均值,1轴上的平均值是每行中所有列的平均值。

归根结底,这句话和“张泽琛”和“迈克尔”说的是同一件事,但在某种程度上,我更容易内化。

让我们想象一下(你会永远记得),enter image description here

在熊猫中:

  1. 轴=0表示沿“索引”。这是一个按行操作。

假设,要对dataframe1&dataframe2执行concat()操作, 我们将从dataframe1中取出第一行并放入新的DF中,然后从dataframe1中取出另一行并放入新的DF中,重复此过程,直到到达dataframe1的底部。然后,我们对dataframe2执行相同的过程。

基本上,将dataframe2堆叠在dataframe1之上,反之亦然。

例如在桌子或地板上堆一堆书

  1. 轴=1表示沿“列”。这是一个按列操作。

假设,要对dataframe1&dataframe2执行concat()操作, 我们将取出dataframe1的第1列complete column(亦称第1列),放入新的DF中,然后取出dataframe1的第2列,并保持与之相邻(侧向),我们必须重复此操作,直到所有列都完成为止。然后,在dataframe2上重复相同的过程。 基本上, 横向堆叠数据帧2。

例如在书架上安排书籍。

More to it, since arrays are better representations to represent a nested n-dimensional structure compared to matrices! so below can help you more to visualize how axis plays an important role when you generalize to more than one dimension. Also, you can actually print/write/draw/visualize any n-dim array but, writing or visualizing the same in a matrix representation(3-dim) is impossible on a paper more than 3-dimensions.

enter image description here

它指定计算平均值的轴。默认情况下axis=0。这与axis被显式指定为时的numpy.mean用法一致(在numpy.mean中,axis==None默认情况下,它计算扁平数组上的平均值),其中axis=0沿着(即,pandas中的索引)和沿着axis=1。为了增加清晰度,可以选择指定axis='index'(而不是axis=0)或axis='columns'(而不是axis=1)。

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

相关问题 更多 >