В вашем примере pandas
перебирает столбцы, а не строки.
Вы должны использовать directory1.iterrows()
(или аналогичные функции)
for index, row in directory1.iterrows():
results[index, 0] = row[1] + 5
, но вы можете сделать то же самое без итерации
results[:,0] = directory1[1] + 5
Пример
import pandas as pd
import numpy as np
import random
random.seed(1) # random will create always the same values
directory1 = pd.DataFrame(
[[random.randint(0, 10) for x in range(10)] for x in range(200)],
)
print('shape:', directory1.shape)
print(directory1.head())
# ----
results = np.zeros((len(directory1), 3))
for index, row in directory1.iterrows():
results[index, 0] = row[1] + 5
print(results[:5])
# ---
results = np.zeros((len(directory1), 3))
results[:,0] = directory1[1] + 5
print(results[:5])
Результат
shape: (200, 10)
0 1 2 3 4 5 6 7 8 9
0 2 9 1 4 1 7 7 7 10 6
1 3 1 7 0 6 6 9 0 7 4
2 3 9 1 5 0 0 0 10 8 0
3 6 10 3 6 0 8 3 7 7 8
4 3 5 3 10 3 7 4 0 6 8
# ---
[[14. 0. 0.]
[ 6. 0. 0.]
[14. 0. 0.]
[15. 0. 0.]
[10. 0. 0.]]
# ---
[[14. 0. 0.]
[ 6. 0. 0.]
[14. 0. 0.]
[15. 0. 0.]
[10. 0. 0.]]