Как установить оператор условия в циклическом процессе - PullRequest
0 голосов
/ 24 сентября 2019

Я использую Python 3;У меня проблема с установкой оператора условия для некоторых групп (чтобы рассматривать пиксель только при наличии более 5 доступных данных) в цикле, и я ожидаю получить пустой пиксель, если условие не выполняется.

Я попробовал какое-то утверждение «если», но я постоянно получаю 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 ссылается на большой фрейм данных с большим количеством данных.Я был бы очень признателен, если бы кто-нибудь мог помочь с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...