如何使用Numpy在Python中重塑数组的数组

Mar*_*ale 1 python numpy pandas

如下所示,我创建了三个包含不同随机数的数组:

np.random.seed(200)
Array1  = np.random.randn(300)
Array2 = Array1 + np.random.randn(300) * 2
Array3 = Array1 + np.random.randn(300) * 2

data = np.array([Array1, Array2 , Array3])
#data.reshape(data, (Array3, Array1)
mydf = pd.DataFrame(data)
mydf.tail()
Run Code Online (Sandbox Code Playgroud)

我的目标是使用这三个数组构建一个DataFrame。每个数组应在不同的列中显示其值。DataFrame应该具有三列和索引。我上面的代码的问题是,数据框是在水平位置而不是垂直位置构建的。DataFrame看起来像这样:

在此处输入图片说明

我试图使用reshape函数来重塑名为“ data”的numpy数组,但是我无法使其工作。任何帮助都将受到欢迎。谢谢!

mcs*_*ini 5

您可以.T用来转置数据data = np.array([Array1, Array2 , Array3]).T或数据框mydf = pd.DataFrame(data).T

输出:

            0         1         2
295 -0.126758  1.697413  0.399351
296  0.548405  1.402154 -4.396156
297 -1.063243  0.279774 -0.636649
298 -0.678952 -2.061554  0.244339
299 -0.527970 -0.290680 -0.930381
Run Code Online (Sandbox Code Playgroud)

或立即建立2D阵列

arr = np.random.randn(300, 3)
arr[:, 1:] *= 2

mydf = pd.DataFrame(arr)
Run Code Online (Sandbox Code Playgroud)