如何使用Numpy来重塑Python中的数组
如下所示,我创建了三个包含不同随机数的数组:如何使用Numpy来重塑Python中的数组,python,pandas,numpy,Python,Pandas,Numpy,如下所示,我创建了三个包含不同随机数的数组: 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
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应该有三列和索引。我对上述代码的问题是,数据帧是在水平位置而不是垂直位置构建的。数据帧如下所示:
我曾尝试使用重塑函数重塑名为“数据”的numpy数组,但无法使其正常工作。任何帮助都是非常受欢迎的。谢谢 您可以使用.T来转置data data=np.array[Array1,Array2,Array3].T或dataframe mydf=pd.DataFramedata.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)
您可以使用.T转换数据data=np.array[Array1,Array2,Array3].T或数据帧mydf=pd.DataFramedata.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)
以这种方式构建的数据将具有3300形状,沿新的第一轴连接3个阵列。numpy或pandas中的转置会生成一个300,3形状、3列的数据,以这种方式构建的数据将具有3300形状,沿新的第一轴连接3个阵列。一个转置,无论是在numpy还是pandas中,都会形成一个300,3的形状,3列