重塑 3 列 numpy 数组

Posted

技术标签:

【中文标题】重塑 3 列 numpy 数组【英文标题】:reshaping 3 column numpy array 【发布时间】:2021-03-03 17:28:15 【问题描述】:

我从要重塑的数据框中提取了以下 numpy 数组

提取

x = c_df['x'].values
y = c_df['y'].values
z = c_df['z'].values

转换为数组

x_y_z = np.array([x, y, z])
x_y_z

数组长这样

array([[748260.27757, 748262.56478, 748263.52455, ..., 730354.86406,
        730374.75   , 730388.45066],
       [333346.25   , 333308.43521, 333296.25   , ..., 331466.13593,
        331453.84365, 331446.25   ],
       [  2840.     ,   2840.     ,   2840.     , ...,   2400.     ,
          2400.     ,   2400.     ]])

基本上我想重塑它以便能够使用 plt.contourf 进行绘图,这需要 Z 是 2D 数组

所以我认为数组需要重新调整为类似

 YYYYYYYYYY
Xzzzzzzzzzz
Xzzzzzzzzzz
Xzzzzzzzzzz
Xzzzzzzzzzz

我的假设正确吗?如果是,如何重塑数组。

【问题讨论】:

您需要pivot 吗? 我试过了,df太大了出现这个错误,Unstacked DataFrame is too big,导致int32溢出 【参考方案1】:

如果我对您的理解正确,Numpy Mgrid 应该能够为您提供帮助。但是,您可能需要更多解释,可以在 this thread 上找到。

如果您提供问题的简化示例,下次您可以更轻松。

【讨论】:

以上是关于重塑 3 列 numpy 数组的主要内容,如果未能解决你的问题,请参考以下文章

Numpy 用 1 列将 1d 重塑为 2d 数组

在 NumPy 中重塑数组

如何将 4D numpy 数组重塑为 3D 数组

将 2D numpy 数组重塑为 3 个具有 x,y 索引的 1D 数组

Numpy“Fortran”式重塑?

在 NumPy 中将 4D 数组重塑为 2D 数组背后的直觉和想法