gpt4 book ai didi

python - Pandas :从行中的每个元素中减去行均值

转载 作者:太空狗 更新时间:2023-10-29 18:13:57 25 4
gpt4 key购买 nike

我有一个数据框,其中的行按化学元素类型索引,列代表不同的样本。这些值是表示行元素在每个样本中的存在程度的 float 。

我想计算每一行的平均值,并从该特定行中的每个值中减去它以标准化数据,并为该数据集创建一个新的数据框。

我尝试使用 mean(1),它为我提供了一个 Series 对象,其中包含每个化学元素的平均值,这很好,但后来我尝试使用减法,但没有用。

最佳答案

您可以使用 DataFrame 的 sub 方法并指定减法应该按行发生 (axis=0) 而不是默认的按列行为:

df.sub(df.mean(axis=1), axis=0)

这是一个例子:

>>> df = pd.DataFrame({'a': [1.5, 2.5], 'b': [0.25, 2.75], 'c': [1.25, 0.75]})
>>> df
a b c
0 1.5 0.25 1.25
1 2.5 2.75 0.75

每行的平均值很容易计算:

>>> df.mean(axis=1)
0 1
1 2
dtype: float64

要对 DataFrame 的行去均值,只需从 df 中减去行的平均值,如下所示:

>>> df.sub(df.mean(axis=1), axis=0)
a b c
0 0.5 -0.75 0.25
1 0.5 0.75 -1.25

关于python - Pandas :从行中的每个元素中减去行均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081300/

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