gpt4 book ai didi

python - 为什么 pandas dataframe describe().min 方法返回标准偏差?

转载 作者:行者123 更新时间:2023-12-02 16:25:06 24 4
gpt4 key购买 nike

我正在尝试从 pandas 数据框中该列的所有值中减去每列的最小值。但是当使用 df.describe().min[columnName] 获取该列的最小值时,它会正确返回除最后一列之外的最小值,它似乎返回标准偏差。这是一个例子:

import pandas as pd
import numpy as np

# create dictionary and dataframe
dfDict = {'A': [1,2,3,4], 'B':[2,4,6,8],'C': [3,5,7,9]}
df = pd.DataFrame.from_dict(dfDict)
print(df)

输出:

   A  B  C
0 1 2 3
1 2 4 5
2 3 6 7
3 4 8 9

当我 print(df.describe()) 这个值似乎没问题时,输出:

              A         B         C
count 4.000000 4.000000 4.000000
mean 2.500000 5.000000 6.000000
std 1.290994 2.581989 2.581989
min 1.000000 2.000000 3.000000
25% 1.750000 3.500000 4.500000
50% 2.500000 5.000000 6.000000
75% 3.250000 6.500000 7.500000
max 4.000000 8.000000 9.000000

但是当我 print(df.describe().min()) 时,C 的值不是最小值而是标准差,我得到这个输出:

A    1.000000
B 2.000000
C 2.581989
dtype: float64

最终,我想从每一列中的所有值中减去该列的最小值。我试过这样做:

iterColNames = df.columns.tolist()
for colName in iterColNames:
df[colName] = df[colName]-df.describe().min()[colName]

这会导致前两列的值很好,但最后一列的值不是很好。如果我现在 print(df),它会给我这个输出:

     A    B         C
0 0.0 0.0 0.418011
1 1.0 2.0 2.418011
2 2.0 4.0 4.418011
3 3.0 6.0 6.418011

它应该给我以下输出的地方:

     A    B    C
0 0.0 0.0 0.0
1 1.0 2.0 2.0
2 2.0 4.0 4.0
3 3.0 6.0 6.0

这看起来很简单,但我不确定这个问题的原因是什么。感谢您的帮助!

最佳答案

print(df.describe().min())

将为 df.describe() 返回的(伪)数据帧计算最小值,这可能没有多大意义。

相反,简单

>>> df.min()
A 1
B 2
C 3

将返回列最小值。

关于python - 为什么 pandas dataframe describe().min 方法返回标准偏差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64704839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com