我有一个如下的numpy数组:
import pandas as pd
import numpy as np
np.random.seed(10)
data = np.random.randint(0, 10, size=(1000, 4, 3))
我希望能够将此数据展平为具有12列和1000行的df。
我所做的是:
df = pd.DataFrame( index=range(data.shape[0]))
for i in range(data.shape[1]):
for j in range(data.shape[2]):
df[str(i)+'_'+str(j)] = pd.DataFrame((data[:,i,j]))
这样做,我可以将3d数据展平为2d pandas df。
-除了我已经完成的工作之外,还有谁知道我可以使用的任何简洁的内置函数?
答案 0 :(得分:1)
只需将数组重塑为(-1, 12)
并创建数据框
pd.DataFrame(data.reshape(-1, 12))