Python 3:使用来自 pandas 数据帧的像素值创建栅格

Python 3: Create raster with pixel values sourced from a pandas dataframe

我需要创建一个 328 x 238(行 x 列)栅格,其中 select pixel/cell 值是从我得到的 pandas 数据框 (df) 填充的. df 中的每一行都包含一个名称(不重要)、行号、列号和像素值,这些值对应于 328 x 238 栅格单元中的一些(不是全部)。像素值必须是 'NaN' 或空(如果不存在单元格值)。我是 python 的新手,正在努力寻找实现最终目标的最佳方法。首先想到的是遍历 df 中的每一行以提取 row/column 位置和每个像素应该填充的值(如果 df 中存在的话)。

作为第一步,我考虑创建一个 328 x 238 的 NaN 值的 numpy 数组:

array = np.full((328, 238), 'NaN')

当时我在想我可以使用 for 循环来用 df 中的值填充数组。 但是,我仍在努力了解如何设置一个 for 循环,该循环将逐行读取 df 并在每个列出的 row/column 位置用 df 的特定值填充数组。

for row, col in array:
    array.append[df['row', 'column'], 'value']

这个 for 循环显然不起作用,但我不知道如何从 df 中获取 'value' 并在特定的 'row' 和 'column' 位置填充数组.任何帮助指导我走上实现光栅最终目标的最佳途径的帮助将不胜感激。

您可以使用 df.iterrows

遍历数据框的行
for index, row in df.iterrows():
     array[row['row_number'], row['column_number']] = row['value']