在 idxmax 上使用 iloc 时出现“IndexError:单个位置索引器越界”(值不应越界?)

时间:2021-02-24 10:35:39

标签: pandas

我有以下代码:

a_list=[y_list, o_list, r_list]
maks=[]
date=[]
nokl=[]
for the_list in a_list:
    for j in the_list:
        nokl.append(j)
        maks.append((f2021_1[j].max()))
        date.append((f2021_1['ts'].iloc[(f2021_1[j].idxmax())]))
res_l1= pd.DataFrame({'nokl':nokl, 'date':date, 'maks':maks})

结果:

IndexError: single positional indexer is out-of-bounds
--> date.append((f2021_1['ts'].iloc[(f2021_1[j].idxmax())]))

但是,当尝试为数据帧中的某些内容的最大值查找不同的列值时,这怎么会越界?

f2021_1 是名为 f2021 的大型 df 的一部分。当我在 f2021 上运行相同的代码时,它工作正常,从“ts”列返回带有日期的结果数据框。完全相同的代码但不同的 df。

因此,我尝试在大型数据帧的子集上通过 copy() 创建 f2021_1,但这无济于事。我也尝试过深拷贝,但运气不佳。

我做错了什么?

0 个答案:

没有答案
相关问题