首页 > 解决方案 > Jupyter notebook 将循环结果从一个单元更改为另一个单元?

问题描述

通过使用第一个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,)

任何建议将不胜感激。

标签: pythonpandasnumpy

解决方案


推荐阅读