我正在使用Python3(Spyder)编程,我有一个表格,它的对象类型为“pandas.core.frame.DataFrame”。我想对该表中的值进行z-score归一化处理(每个值减去其行的均值并除以其行的标准差),使得每行的平均值为0,标准差为1。我尝试了两种方法。
第一种方法
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,而是其他浮点值。我不知道可能出现了什么问题。
非常感谢您的帮助!