我有以下代码:
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,但这无济于事。我也尝试过深拷贝,但运气不佳。
我做错了什么?