Заполнение значений датафрейма через цикл
Требуется заполнить датафрейм списком, изменяющимся через цикл. Ожидается что на выходе будет датафрейм со следующими строками:
x= 1 work_ls = [1]
x= 2 work_ls = [1, 2]
x= 3 work_ls = [1, 2, 3]
x= 4 work_ls = [1, 2, 3, 4]
x= 5 work_ls = [1, 2, 3, 4, 5]
Пробую такой код:
import pandas as pd
x=0
y=0
work_ls=[]
test_result = pd.DataFrame(columns=['work_ls', 'x'])
for i in range(5):
x+=1
y+=1
work_ls.append(x)
test_result.loc[len(test_result.index)] = [work_ls, y]
display(test_result)
на выходе получаю такой датафрейм:
work_ls x
0 [1, 2, 3, 4, 5] 1
1 [1, 2, 3, 4, 5] 2
2 [1, 2, 3, 4, 5] 3
3 [1, 2, 3, 4, 5] 4
4 [1, 2, 3, 4, 5] 5
Почему во все строки признака work_ls записался полный список и как это исправить?
Источник: Stack Overflow на русском