簡體   English   中英

Jupyter notebook 將循環結果從一個單元格更改為另一個單元格?

[英]Jupyter notebook changes the result of loop from a cell to another cell?

通過使用第一個for loop我創建了我正在尋找的內容,如下所示:

for i in (target):
    newtarget = np.repeat(i,len(curv))
    ggg.append(newtarget)

for extra_index, j in enumerate (New_middle_index): 
    target_up = ggg[extra_index][0:j]
    target_down=ggg[extra_index][j:-1]
    print(np.shape(target_up))

這給出了結果:

(757,)
(832,)
(907,)
(982,)

然后我不得不使用另一個for loop來制作我的數據集的其余部分,如下所示:

for k in range(len(New_middle_index)):
    MIDD = New_middle_index[k]
    
    #####Curvature
    
    CUR_up = curv[0:MIDD]
    CUR_down = curv[MIDD:-1]
    
    
    #####Excess near bank
    
    EXC_up=exces[0:MIDD]
    EXC_down=exces[MIDD:-1]

    d_up = {'col1': CUR_up,'col2':EXC_up,'col3':target_up}
    d_down={'col1': CUR_down, 'col2': EXC_down,'col3':target_down}
    df_up = pd.DataFrame(d_up)
    df_down = pd.DataFrame(d_down)
    df_up.columns = ['Curvature','Near-bank','Target']
    df_down.columns=['Curvature','Near-bank','Target']


此時,當我嘗試合並結果並使用來自上面for loop和第二個結果的結果制作數據框時,它不使用它,並且會返回此錯誤。

-------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-22-2a04eddb5a44> in <module>
     26     d_up = {'col1': CUR_up,'col2':EXC_up,'col3':target_up}
     27     d_down={'col1': CUR_down, 'col2': EXC_down,'col3':target_down}
---> 28     df_up = pd.DataFrame(d_up)
     29     df_down = pd.DataFrame(d_down)
     30     df_up.columns = ['Curvature','Near-bank','Target']

ValueError: array length 982 does not match index length 757而它們在每個循環循環中都具有相同的大小。 從某種意義上說,在兩個 for 循環的組合之外,它們是正確的,但它們不能組合用作一個數據幀。 要顯示相似之處:

print(np.shape(EXC_up))

給出如下:

(757,)
(832,)
(907,)
(982,)

任何建議將不勝感激。

與其嘗試將 N 個元素的數組附加到 M 個元素的數組,我建議您創建一個數組長度為 N+M 的空數組。 將您的兩個數組復制到那個數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM