gpt4 book ai didi

python-3.x - Pandas DataFrame (python) 中的 Z 分数归一化

转载 作者:行者123 更新时间:2023-12-04 10:46:52 28 4
gpt4 key购买 nike

我正在使用 python3 (spyder),我有一个表,它是对象“pandas.core.frame.DataFrame”的类型。我想对该表中的值进行 z-score 标准化(每个值减去其行的平均值并除以其行的 sd),因此每行的均值 = 0 和 sd = 1。我尝试了 2 种方法。

第一种方法

from scipy.stats import zscore
zetascore_table=zscore(table,axis=1)

第二种方法
rows=table.index.values
columns=table.columns
import numpy as np
for i in range(len(rows)):
for j in range(len(columns)):
table.loc[rows[i],columns[j]]=(table.loc[rows[i],columns[j]] - np.mean(table.loc[rows[i],]))/np.std(table.loc[rows[i],])
table

这两种方法似乎都有效,但是当我检查每行的均值和标准差时,它不是 0 和 1,因为它是假设的,而是其他浮点值。我不知道哪个可能是问题。

在此先感谢您的帮助!

最佳答案

下面的代码计算pandas df 列中每个值的z-score。然后将 z 分数保存在新列中(此处称为“num_1_zscore”)。很容易做到。

from scipy.stats import zscore
import pandas as pd

# Create a sample df
df = pd.DataFrame({'num_1': [1,2,3,4,5,6,7,8,9,3,4,6,5,7,3,2,9]})

# Calculate the zscores and drop zscores into new column
df['num_1_zscore'] = zscore(df['num_1'])

display(df)

关于python-3.x - Pandas DataFrame (python) 中的 Z 分数归一化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59668597/

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