Как в Pandas языка Python заполнить пустую колонку и не считать ее сумму?

Решаю задачу, в которой есть столбец со значениями NaN, которые надо заполнить по количеству строк, начиная с единицы: Вот так:

       j  П, k=1  П, k=2
0      1    10.0    40.0
1      2    20.0    50.0
2      3    30.0    60.0
Сумма  NaN  60.0   150.0

Пробую это сделать двумя вариантами: первый отрабатывает некорректно - дает все тройки вместо 1,2,3, второй вариант вовсе не работает.

Кроме того, первый вариант считает сумму в этой колонке, а мне она там не нужна. Как быть?

Код:

import numpy as np
import pandas as pd

m=4
df1 = pd.DataFrame(data = {'j': [np.nan, np.nan, np.nan], 'П, k=1': [10, 20, 30], 'П, k=2': [40, 50, 60]})
df1.loc['Сумма'] = df1.sum()

# ПЕРВЫЙ ВАРИАНТ:
# for j in range(1, m):
#    df1['j'] = j

# ВТОРОЙ ВАРИАНТ:
bc = [x for x in range(1, m)]
print(bc)
df1['j'] = bc

print(df1)

Ответы (1 шт):

Автор решения: Алексей Казанцев

Тут по соседству предложен такой способ решения: берем второй вариант и получаем следующий код

import numpy as np
import pandas as pd
m=4
df1 = pd.DataFrame(data = {'j': [np.nan, np.nan, np.nan], 'П, k=1': [10, 20, 30], 'П, k=2': [40, 50, 60]})
df1.loc['Сумма'] = df1.sum()
bc = [x for x in range(1, m)]
df1.loc[df1.index[:-1], 'j'] = bc # присвоение реализовано таким образом
print(df1)
→ Ссылка