Я работаю с циклом данных внутри цикла.Внутри каждой итерации выполняются операции над переменными кадра данных.В конце каждой итерации мне нужно сохранить этот фрейм данных в словаре с индексом, связанным с индексом итерации.
Например:
df = pd.DataFrame(index=range(20))
dict = {}
for k in range(5):
df['iter'] = k
dict[k] = df
Мой ожидаемый результат'dict' - это словарь с 5 кадрами данных.Скажем, для значения ключа «1» у меня должен быть фрейм данных «df» со столбцом «iter», который имеет все значения как 1. Аналогично, для значения ключа «2» у меня должен быть «df» со всеми значениями 2.
Тем не менее, я обнаружил, что все значения ключей хранятся в одном и том же кадре данных.Все они имеют значение 4. В кадре данных.
Я пытался выполнять операции пошагово, а не зацикливаться.Я обнаружил, что изначально правильный фрейм данных сохраняется.Но на следующем шаге итерации при выполнении
df['iter'] = k
значение в словаре также обновляется.
Как можно обойти эту проблему?Мой фактический фрейм данных намного больше и содержит гораздо больше операций, которые необходимо выполнить в цикле.