我需要根据所有列的不同列对数据框进行排序,并且我想使用循环来实现。所以我需要这样的东西:
for j in range(nC):
Elab1 = Elab1.sort_values([j, 13])
Elab1 = Elab1.reset_index(drop=True)
for i in range(L_GI-1):
if Elab1.at[i+1, j] == Elab1.at[i, j] :
Elab1.at[i+1, j+nC] = Elab1.at[i, j+nC]
L_GI
和nC
分别是我的数据框的行数和列数:Elab1
,而j和13是我想用作排序索引的数据框的列数位置。虽然这适用于循环行,但不适用于列,因为我想使用方法
at
需要它们的名称。有没有一种方法可以替代方法
at
,如我的代码所示使用? 最佳答案
只需使用iloc
而不是at
:
Elab1.iloc[i+1, j] == Elab1.iloc[i,j]