Извините, если заголовок не ясен, эту проблему у меня немного сложно подвести итог.
У меня есть один столбец, который содержит значение события на его пике. Непиковые значения - это только нан.
[np.nan, 30, np.nan, np.nan, 10, np.nan, np.nan, 20, np.nan]
Во втором столбце определяется, находимся ли мы в событии A или B
['A', 'A', 'A', 'A', 'B', 'B', 'A', 'A', 'A']
На основе индекса значения по отношению к тому, что событие, под которым он подпадает, я хочу «заполнить» события соответствующими значениями.
[30, 30, 30, 30, 10, 10, 20, 20, 20]
Так как индекс первого значения 30 попадает под этот конкретный раздел события A, мы заполняем это событие с помощью 30 и т. Д.
Пример приведен здесь:
df = pd.DataFrame({'val': [np.nan, 30, np.nan, np.nan, 10, np.nan, np.nan, 20, np.nan],
'event': ['A', 'A', 'A', 'A', 'B', 'B', 'A', 'A', 'A']})
val event
1 NaN A
2 30.0 A
3 NaN A
4 NaN A
5 10.0 B
6 NaN B
7 NaN A
8 20.0 A
9 NaN A
Я хочу, чтобы мой выходной столбец был [30, 30, 30, 30, 10, 10, 20, 20, 20]