将Pandastable转换为矩阵转网格

Converting Pandas table into matrix to grid

我有一个 pandas 经度高度和平均一氧化碳数据点的数据集。我想用颜色映射的 CO 值将这些绘制在高度与经度的网格上。 我的值在格式中:

longitude height   CO
71        8000.0   50.958159
          9000.0   59.076651
          10000.0  46.716544
          11000.0  43.170888
72        8000.0   45.724138
          9000.0   45.505567
          10000.0  40.749734
          11000.0  42.305107
73        8000.0   53.045872
          9000.0   56.013487
          10000.0  42.418022
          11000.0  40.897789
74        7000.0   48.440000
          8000.0   59.165261
          9000.0   50.215405
          10000.0  42.504561
          11000.0  46.189446
75        7000.0   47.590909
          8000.0   38.887422
          9000.0   33.653982
          10000.0  47.762696
          11000.0  45.612828

我试图通过占据所有相关值的矩阵来做到这一点:

matrix = np.zeros(shape=(30, 12))

for i in range(70,100):
    for j in range(0,12):
        h = j*1000
        if grid_data.loc[(grid_data['longitude']) & (grid_data.loc(grid_data['height'] == h))
            x = i-70
            val = (grid_data.loc[(grid_data['longitude'] = i) & (grid_data['height'] = h))
            matrix[x,j] = val['CO']

但是,我意识到这是明显错误的,因为我正在对数据帧执行 if 语句。我不知道如何从这里继续前进,因此将不胜感激任何帮助。

假设您的数据框名为 'df',您可以使用 df.pivot 到 'map' 它,就像:

df.pivot(index="longitude", columns="height", values="CO")