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