Skip to main content
 首页 » 编程设计

python之如何使用 Numpy 在 Python 中 reshape 数组

2025年05月04日18三少

正如您在下面看到的,我创建了三个包含不同随机数的数组:

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() 

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

我曾尝试使用 reshape 函数来 reshape 名为“data”的 numpy 数组,但我无法让它工作。任何帮助都将非常受欢迎。谢谢!

请您参考如下方法:

您可以使用 .T 转置数据 data = np.array([Array1, Array2 , Array3]).T 或数据帧 mydf = pd.DataFrame(数据).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 

或者马上构建一个二维数组

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