首页 > 解决方案 > 如何在循环过程中设置条件语句

问题描述

我正在使用 Python 3;我在循环中为某些组设置条件语句(仅在有超过 5 个可用数据时才考虑像素)时遇到问题,并且我希望无论条件不满足都会得到一个空白像素。

我尝试了一些“if”语句,但是当条件可能不满足时,我不断收到 KeyError。我将显示代码:

Xpix = 78
Ypix = 30
row = []
mean_val = []

           for i in range (0,Ypix):

              for j in range (0,Xpix):


                  if(len(data_pixel.groupby(['lin','col']).get_group((i,j))[['gamma']])>=5):


                            means = data_pixel.groupby(['lin','col']).get_group((i,j))[['gamma'].mean()

                   else:
                             means = 0

               row.append(means)

             mean_val = np.array(row).reshape(Ypix, Xpix)

我希望一个 78 x 30 的数组可以绘制空白像素和平均像素。在这里,我显示了我得到的错误:

Traceback (most recent call last):
  File "map.py", line 415, in <module>
    proc.process()
  File "map.py", line 215, in process
    if (len(data_pixel.groupby(['lin', 'col']).get_group((i,j))[['gamma']])>=5):
  File "/xxx/yyy/anaconda3/envs/gnss/lib/python3.7/site-packages/pandas/core/groupby/groupby.py", line 680, in get_group
    raise KeyError(name)
KeyError: (10,41)

data_pixel 是指具有大量数据的大数据框。如果有人能提供帮助,我将不胜感激。

标签: pythonpandasloopsdataframe

解决方案


推荐阅读