pandas 如何使用numpy或panda生成一个带有Z值的二维网格(X,Y)?

polhcujo  于 2023-02-11  发布在  其他
关注(0)|答案(2)|浏览(121)

正如标题所述,我想生成一个二维网格。本质上是X,Y坐标与Z值。我想这个网格从X:-175分175秒Y:-175:175并将所有Z值填充为0。我还在df中创建了一些X、Y和Z值,如下所示:

+-----+-----+--------+
|  X  |  Y  |   Z    |
+-----+-----+--------+
| -45 |   3 |   -.03 |
|  10 |   4 |    .06 |
|  20 | -97 | -.0345 |
+-----+-----+--------+

然后创建一个非常基本的网格:

grid = np.zeros((350, 350))

现在我想创建一个df(或np数组),从-175到175(X和Y都是),并用我的df填充这些值,如果它们在我的df中不存在,就用0填充它们。
最终目标是绘制这些x、y、z点(可能在热图或其他还不确定的东西中),如果这有助于给予一些上下文。
所有的帮助是赞赏和感谢提前!

mxg2im7a

mxg2im7a1#

您可以尝试pivot

(df.pivot(index='X', columns='Y', values='Z')9
   .reindex(np.arange(-175,175))
   .reindex(np.arange(-175,175), axis=1)
   .fillna(0)
)
szqfcxe2

szqfcxe22#

如果只想绘制x、y、z(作为值),请用途:来自matplotlib的等值线图(https://matplotlib.org/stable/gallery/images_contours_and_fields/contourf_demo.html#contourf-demo)

相关问题