Python 如何使用numpy或pandas生成具有Z值的二维栅格(X,Y)?

Python 如何使用numpy或pandas生成具有Z值的二维栅格(X,Y)?,python,pandas,numpy,matplotlib,Python,Pandas,Numpy,Matplotlib,正如标题所述,我想生成一个二维网格。基本上是X,Y坐标和Z值。我希望这个网格从X:-175:175 Y:-175:175开始,并用0填充所有Z值。我已经在df中创建了一些X、Y和Z值,如: +-----+-----+--------+ | X | Y | Z | +-----+-----+--------+ | -45 | 3 | -.03 | | 10 | 4 | .06 | | 20 | -97 | -.0345 | +-----+-----+----

正如标题所述,我想生成一个二维网格。基本上是X,Y坐标和Z值。我希望这个网格从X:-175:175 Y:-175:175开始,并用0填充所有Z值。我已经在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点(可能在热图中,或者还不确定的东西中),如果这有助于提供一些上下文


感谢所有的帮助,并提前表示感谢

您可以尝试
pivot

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

您可以尝试透视
pivot

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

愚蠢的问题,但为什么我需要做这个枢轴的东西?你不必。这只是一个选择。例如,您可以执行双循环并更新
网格
,但速度会慢一些。不,这更像是有重复的
X,Y
。在这种情况下,您想做什么?它返回一个新的数据帧。(重新)将其分配给某个对象。
sns
就是这样工作的。在
df.pivot()
中交换
X,Y
,或者执行
sns.heatmap(df\u grid.T)
。愚蠢的问题,但我为什么需要做这个pivot的工作?你不必这么做。这只是一个选择。例如,您可以执行双循环并更新
网格
,但速度会慢一些。不,这更像是有重复的
X,Y
。在这种情况下,您想做什么?它返回一个新的数据帧。(重新)将其分配给某个对象。
sns
就是这样工作的。在
df.pivot()中交换
X,Y
,或者执行
sns.heatmap(df\u grid.T)