3
と呼ばれる理由私は、次のコードを持って理解しようとすると:私のpython 2.7でこのメソッドを実行すると、予想通りは、ループのネストされたが、初回のみ
def get_preds(train,test,x_ranges,y_ranges):
global total_scores
global num_scores
for x_min, x_max in x_ranges:
for y_min, y_max in y_ranges:
...
、それが動作します。ループのネストは、外側のforループが実行されるたびに実行されます。
Python 3で動作するKaggle pythonスクリプトエンジンにこの同じコードをロードすると、ネストされたループは1回だけ実行されます。その他のすべての反復では、スキップされます。
はここでメソッドが呼び出される方法は次のとおりです。
はdataset = pd.read_csv('../input/train.csv',dtype=types,index_col=0)
split_t=math.floor((0.9)*786239)
train = dataset[dataset.time < split_t]
test = dataset[dataset.time >= split_t]
def gen_ranges(size,step):
return zip(np.arange(0,size,step), np.arange(step, size+step, step));
x_ranges = gen_ranges(size,x_step)
y_ranges = gen_ranges(size,y_step)
preds_test_total = get_preds(train,test,x_ranges,y_ranges)
どのように関数を呼び出しますか? –
preds_test_total = get_preds(train、test、x_ranges、y_ranges)は、メソッドの外部にあります。 –
どのように関数を呼び出しますか?特に、 'yranges'は両方のインタプリタのリストであり、それはPython 2のリストとPython 3のジェネレータです。 – gboffi