我正在尝试使用已经获得的均值和标准差值对新数据进行标准化。
t = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
tt = np.array([[1,1,1],
[100,100,100]])
a = pd.DataFrame(t, columns=['a','b','c'])
b = pd.DataFrame(tt, columns=['a', 'b', 'c'], index=['mean', 'std'])
def standardize(x, y):
return (x - y.loc['mean']) / y.loc['std']
a.apply(standardize(a,b))
我想获得归一化的数据框,每个值都通过“ b”数据框的均值和具有应用功能的每一列的std来计算
ex)a [0] ['a'] =(a [0] ['a']-b ['mean'] ['a'])/ b ['std'] [a] >
任何更好的方法也都可以。谢谢。
答案 0 :(得分:0)
(a-b.loc['mean'])/b.loc['std']
如果将b
定义为b=b.T
,则
(a-b['mean'])/b['std']
答案 1 :(得分:0)
您已经拥有它。用standardize(a,b)
代替a.apply(standardize(a,b))
。