Python:将以下数据帧解压到矩阵中最有效/最快的方法是什么?

Python:将以下数据帧解压到矩阵中最有效/最快的方法是什么?,python,pandas,Python,Pandas,我有以下网格(实际上是一个数据帧): 然后我使用apply params['res'] = params.apply(lambda row: func(x=params['alpha'],y=params['gamma'],axis=1) 如何将上述内容解包到下面的矩阵/数据框中 pd.DataFrame(elements of params['res'], index = np.linspace(0,1,10), columns = n

我有以下网格(实际上是一个数据帧):

然后我使用
apply

params['res'] = params.apply(lambda row: func(x=params['alpha'],y=params['gamma'],axis=1)
如何将上述内容解包到下面的矩阵/数据框中

pd.DataFrame(elements of params['res'], 
             index = np.linspace(0,1,10), 
             columns = np.linspace(0,2,10))

您可以先将
res
序列转换为numpy数组,然后使用
重塑
方法:

result_df = pd.DataFrame(params['res'].to_numpy().reshape(10,10), 
                         index = np.linspace(0,1,10), 
                         columns = np.linspace(0,2,10))
使用较小尺寸的示例:

#模拟res
res=np.random.randint(0,10,9)
物件
数组([9,3,5,9,3,1,4,0,6])
res.重塑(3,3)
数组([[9,3,5],
[9, 3, 1],
[4, 0, 6]])
如果这不是您预期的结果,您可以将其转换为:

res.reformate(3,3).T
数组([[9,9,4],
[3, 3, 0],
[5, 1, 6]])

您正在寻找的
轴心点

params.pivot(index='alpha', columns='gamma', values='res')

如果这个问题只问从res列生成10 x 10 numpy 2d阵列/矩阵的最快方法,那么我认为这个解决方案就是:

params.res.values.reshape(10,10)

IIUC您想从您创建的
res
列中创建一个10×10 numpy的2d数组/矩阵吗?是的。行索引将是alpha范围,列名是gamma范围。这里的func是什么?你能提供你期望的数据吗?实际上,函数并不重要。您可以为列res指定0个值。因此,重塑方法会先按行再按列重新排列红色元素吗?我说的对吗?我正在添加一个重塑的例子。在这种情况下,重塑并不是真正的
重塑。哦,我知道你在那里做了什么!他希望索引和列是
alpha
gamma
。谢谢你指出:)
params.res.values.reshape(10,10)