У меня есть фрейм данных:
import numpy as np
import pandas as pd
np.random.seed(42)
df = pd.DataFrame(np.random.randint(0, 10, size=(5, 2)), columns=['col1', 'col2'])
, который генерирует следующий кадр:
col1 col2
0 6 3
1 7 4
2 6 9
3 2 6
4 7 4
Я хочу заменить все значения в строке 2 на любое значение в строке 1. Поэтому я набираю:
df.loc[2:] = df.loc[1:1]
Но полученный кадр заполняется с помощью nan:
col1 col2
0 6.0 3.0
1 7.0 4.0
2 NaN NaN
3 NaN NaN
4 NaN NaN
Я знаю, что могу использовать fillna(method='ffill')
, чтобы получить то, что я хочу, но почему вещание не сработало, и результатом стал NaN? Ожидаемый результат:
col1 col2
0 6 3
1 7 4
2 7 4
3 7 4
4 7 4
Редактировать: Панды версия 0.24.2