我需要针对所有列,根据不同的列对我的数据框进行排序,我想通过循环来实现。所以我需要类似的东西:
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]