Я использую python3 (spyder), и у меня есть таблица, которая является типом объекта "pandas .core.frame.DataFrame". Я хочу, чтобы z-счёт нормализовал значения в этой таблице (чтобы каждое значение вычитало среднее значение его строки и делилось на 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
Кажется, что оба подхода работают, но когда я проверяю среднее и sd каждой строки, это не 0 и 1, как предполагается, но другие значения с плавающей запятой. Я не знаю, в чем может быть проблема.
Заранее спасибо за помощь!