Вы близки, вам нужно:
df['counter'] = np.arange(len(df)) // 4 + 1
print (df)
counter
0 1
1 1
2 1
3 1
4 2
5 2
6 2
7 2
8 3
9 3
Ваше решение не работает, поскольку столбцу был присвоен массив с 2 значениями:
print (len(df)//4)
2
print (np.arange(len(df)//4))
[0 1]
Но если нужен массив такого же размера, какDataFrame
:
print (np.arange(len(df)))
[0 1 2 3 4 5 6 7 8 9]