Вложено для цикла очень неэффективно по времени. У меня есть несколько идей, чтобы сделать это эффективным. Интересно, можно ли поделиться лучшими альтернативами?
Я пытаюсь создать в Python фрейм данных, извлекая значения из нескольких других фреймов данных. Для небольшого количества переменных / столбцов я могу выполнять простые присваивания. В приведенном ниже примере я хочу, чтобы сравнивалась ячейка в каждом из двух фреймов данных, и, если они равны, делаю назначение. Если они не равны, мне нужно перебрать второй кадр данных, пока каждая ячейка не будет оценена перед выполнением какого-либо назначения.
"" "повторяется в каждой строке первого кадра данных, а затем второго. Это делается для правильного сопоставления значений в сравниваемом столбце." ""
for i in range(len(df10)):
for j in range(len(df6)): # this is not an efficient way to perform this action.
if df10.iloc[i,0] == df6.iloc[j,1]:
df10.iloc[i,23] = df6.iloc[j,6]
df10.iloc[i,24] = df6.iloc[j,1]
df10.sample(n=5)