将Pandas表转换为矩阵到网格

时间:2018-02-07 18:32:20

标签: python pandas matrix grid geo

我有一个经度高度和平均一氧化碳数据点的熊猫数据集。我想在高度与经度的网格上用彩色映射的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']

然而,我意识到这只是一个错误,因为我正在做数据帧上的语句。我不知道如何继续前进,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

假设您的数据框名为'df',您可以使用df.pivot来“映射”它,就像:

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