python-3.x - df.mean()/jupyter/pandas 交替轴输出

标签 python-3.x pandas dataframe jupyter mean

我没有发布很多问题,但是,我发现了一种非常奇怪的行为,导致交替输出。我希望有人能帮助阐明这一点。

我正在使用 jupyter,并且正在创建一些如下数据:

# Use the following data for this assignment:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

np.random.seed(12345)

df = pd.DataFrame([np.random.normal(32000,200000,3650), 
                   np.random.normal(43000,100000,3650), 
                   np.random.normal(43500,140000,3650), 
                   np.random.normal(48000,70000,3650)], 
                  index=[1992,1993,1994,1995])
df

现在在下一个单元格中,我有几行来获取 DF 的转置,然后获取平均值和标准差。但是,当我多次运行此单元格时,似乎我从 .mean() 得到了不同的输出

df = df.T
values = df.mean(axis=0)
std = df.std(axis=0)
values

我正在使用 Shift Enter 来运行第二个单元格,这就是我将得到的结果:

1992    33312.107476
1993    41861.859541
1994    39493.304941
1995    47743.550969
dtype: float64

当我使用 shift + Enter 再次运行单元格时(输出被截断,但您应该明白)

0         5447.716574
1       126449.084350
2        41091.469083
3       -61754.197831
4       223744.364842
5        94746.779056
6        57607.078825
7       109812.089923
8        28283.060354
9        69768.157194
10       32952.030326
11       40222.026635
12       64786.632304
13       17025.266684
14      111334.168830
15       96067.788206
16      -68157.985363

我尝试更改轴参数并删除轴参数,但输出保持不变

这是一个屏幕截图,以防有人有兴趣复制我所做的事情:

Jupyter window on my end

感谢您的阅读。

最佳答案

您的问题是,在第二个单元格中,您将 df 重新分配为 df.T,因此每次都会再次转置您的数据帧。所以你可以做的是:不要使用df = df.T,只需这样说:

values = df.T.mean(axis=0)
std = df.T.std(axis=0)

或者更好的是,使用 axis=1 (将其应用于列而不是行)而不进行转置:

values = df.mean(axis=1)
std = df.std(axis=1)

关于python-3.x - df.mean()/jupyter/pandas 交替轴输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350296/

相关文章:

python - 将数据框列转换为字符串列表

python - 逐行将整个 Pandas 数据框格式化为字符串

r - 如何使用来自多列的有序项目在 R 数据框中生成新列

python-3.x - 如何将tqdm与Dataframes的 map 一起使用

Pandas、多索引、日期、HDFstore 和frame_tables

python - 在 python 3.5 中,当使用参数列表作为 subprocess.Popen() 的输入时,我无法获得正确的 len(sys.argv)

python - 如何判断 csv 文件中经过的小时数?

python - 向 pandas DataFrame 添加新列时引发 TypeError

python - 使用 asyncio 协同程序进行方法链接

python-3.x - Python-Qt。如何制作用于 Telnet 或 ssh 服务器交互的终端窗口