[英]Error: expected an indented block
有人可以解釋為什么我收到此錯誤嗎?
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
datapath = r"C:\Users\matth\Downloads\MYD04_L2_v6.0_110E155E_045S010S.A2010_calcv2_dod_flg1.nc"
f = Dataset(datapath)
for i in range(0, 30):
dod = f.variables['dod_modis_flg1'][i]
dod[dod == 0] = np.nan
def nan_if(arr, value):
return np.where(arr == value, np.nan, arr)
mean = np.nanmean([nan_if(dod, -9.99)])
print(mean)
#print(np.nanmax(dod))
#print(np.nanmin([nan_if(dod, -9.99)]))
dod_high = dod[(dod > mean) & (dod != 0)]
anomalies = []
for val in dod_high:
if val > mean:
#print(anomalies)
dod_high_indices1 = np.where((dod > mean) & (dod != 0))
dod_high_indices2 = np.array(np.where((dod > mean) & (dod != 0))).T
anomalies_ind = []
for ind in dod_high_indices2:
anomalies_ind.append(ind)
print(np.asarray(anomalies_ind))
輸出:
%run "C:/Users/matth/dod_anomalies.py"
File "C:\Users\matth\dod_anomalies.py", line 26
dod_high_indices1 = np.where((dod > mean) & (dod != 0))
^
IndentationError: expected an indented block
在我看來,我的代碼縮進是正確的……出於某種原因,我不斷收到此錯誤。
Python在期待之后
if val > mean:
它忽略注釋的塊。 如果您有一個空的if語句,則只需傳遞即可,因此python知道它在那里。
if val>mean:
#print(anomalies)
pass
if
需要身體,在
for val in dod_high:
if val > mean:
#print(anomalies)
評論不算在內。 您可以使body pass
,或注釋掉if
(或整個循環),但是在上下文中,似乎您可能遇到了更嚴重的問題。 即使沒有注釋,該print
也只會打印[]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.