如何遍历 numpy 多维数据帧数组?

How can I iterate over a numpy multidimensional array of dataframes?

我试图在 Python 上迭代多维数组,但我遇到了问题,因为我的数组充满了数据帧而不是 int()。

我有一个多维 numpy 数组 (12, 11),其中包含 12 x 11 个不同的数据帧。

nombres_df =            np.array([[df_01_ID4034, df_02_ID4034, df_03_ID4034, df_04_ID4034, df_05_ID4034, df_06_ID4034, df_07_ID4034, df_08_ID4034, df_09_ID4034, df_10_ID4034, df_11_ID4034, df_12_ID4034], 
                         [df_01_ID4035, df_02_ID4035, df_03_ID4035, df_04_ID4035, df_05_ID4035, df_06_ID4035, df_07_ID4035, df_08_ID4035, df_09_ID4035, df_10_ID4035, df_11_ID4035, df_12_ID4035], 
                         [df_01_ID4039, df_02_ID4039, df_03_ID4039, df_04_ID4039, df_05_ID4039, df_06_ID4039, df_07_ID4039, df_08_ID4039, df_09_ID4039, df_10_ID4039, df_11_ID4039, df_12_ID4039], 
                         [df_01_ID4040, df_02_ID4040, df_03_ID4040, df_04_ID4040, df_05_ID4040, df_06_ID4040, df_07_ID4040, df_08_ID4040, df_09_ID4040, df_10_ID4040, df_11_ID4040, df_12_ID4040],
                         [df_01_ID4041, df_02_ID4041, df_03_ID4041, df_04_ID4041, df_05_ID4041, df_06_ID4041, df_07_ID4041, df_08_ID4041, df_09_ID4041, df_10_ID4041, df_11_ID4041, df_12_ID4041],
                         [df_01_ID4042, df_02_ID4042, df_03_ID4042, df_04_ID4042, df_05_ID4042, df_06_ID4042, df_07_ID4042, df_08_ID4042, df_09_ID4042, df_10_ID4042, df_11_ID4042, df_12_ID4042],
                         [df_01_ID4047, df_02_ID4047, df_03_ID4047, df_04_ID4047, df_05_ID4047, df_06_ID4047, df_07_ID4047, df_08_ID4047, df_09_ID4047, df_10_ID4047, df_11_ID4047, df_12_ID4047],
                         [df_01_ID4049, df_02_ID4049, df_03_ID4049, df_04_ID4049, df_05_ID4049, df_06_ID4049, df_07_ID4049, df_08_ID4049, df_09_ID4049, df_10_ID4049, df_11_ID4049, df_12_ID4049],
                         [df_01_ID4056, df_02_ID4056, df_03_ID4056, df_04_ID4056, df_05_ID4056, df_06_ID4056, df_07_ID4056, df_08_ID4056, df_09_ID4056, df_10_ID4056, df_11_ID4056, df_12_ID4056],
                         [df_01_ID4059, df_02_ID4059, df_03_ID4059, df_04_ID4059, df_05_ID4059, df_06_ID4059, df_07_ID4059, df_08_ID4059, df_09_ID4059, df_10_ID4059, df_11_ID4059, df_12_ID4059],
                         [df_01_ID4075, df_02_ID4075, df_03_ID4075, df_04_ID4075, df_05_ID4075, df_06_ID4075, df_07_ID4075, df_08_ID4075, df_09_ID4075, df_10_ID4075, df_11_ID4075, df_12_ID4075]], dtype="object") 

for j in range(len(nombres_df)): 
    for i in range(len(nombres_df[i])):
        print (nombres_df[i][j])

我需要对其进行迭代并使用每个数据帧内的值进行操作。 问题是,当我像往常一样尝试迭代时,我做不到,因为我收到这个错误:

 5 
 6 for j in range(len(nombres_df)):
 7     for i in range(len(nombres_df[i])):    <--------
 8         print (nombres_df[i][j], end = " ")

IndexError: arrays used as indices must be of integer (or boolean) type

我知道问题出在这里len(nombres_df[i]),但我不知道如何解决。

非常感谢

我认为问题在于您在代码的第二行中迭代了错误的索引。 range(len(nombres_df[i])) 里面的 i 应该是 j

你还把nombres_df[i][j]中的索引倒过来了,应该是nombres_df[j][i]

这应该可以解决问题

for j in range(len(nombres_df)): 
    for i in range(len(nombres_df[j])):
        print (nombres_df[j][i])