Python 数据帧中每列的标准化

Python 数据帧中每列的标准化,python,pandas,Python,Pandas,我想将数据帧100x5从多元正态分布随机化。然后,我想对数据框中的每个值进行一个关于列的标准化。i、 e.我想替换: 在哪里 在向量x中,字母“i”表示向量(1..5)的个数,“j”表示第i个向量的第j个值 我想不做任何循环 我目前的工作 import numpy import pandas #create some really numbers by randomly pressing keyboard mean = [1, 2,3,4,5] cov = [[1, 0,0,4,6], [

我想将数据帧100x5从多元正态分布随机化。然后,我想对数据框中的每个值进行一个关于列的标准化。i、 e.我想替换:

在哪里

在向量x中,字母“i”表示向量(1..5)的个数,“j”表示第i个向量的第j个值

我想不做任何循环

我目前的工作

import numpy
import pandas
#create some really numbers by randomly pressing keyboard
mean = [1, 2,3,4,5]
cov = [[1, 0,0,4,6], [0, 100,4,6,1],[12,14,1,0,13],
       [41,5,0,3,6],[123,5,1,5,12]]
x_1, x_2, x_3, x_4, x_5 = numpy.random.multivariate_normal(mean, cov, 5000).T

#Create data frame
df=(pandas.DataFrame([x_1,x_2,x_3,x_4,x_5]))


#Try to do standardization

df_norm = (df - df.mean()) / (df.stdev())
我有个问题:最后一行不行。这对我来说是非常直观的,它应该工作,但它没有。你能帮我解决我的问题吗


另外,我还有一个问题。在标准化之后,我想估计多元正态分布样本的来源。我们是否有任何实现的函数来执行此操作?

您需要按列执行此操作

df_norm = df.copy()
for col in df:
    df_norm[col] = (df[col] - df[col].mean()) / df[col].std()

你的意思是
(df.mean())/df.std()
?正如我在问题中所写:我正在寻找没有循环的解决方案