заполнение недостающих значений Pandas

#python #pandas

#python #pandas

Вопрос:

Я хочу заполнить столбец фрейма данных, как показано в примере.

 df=pd.DataFrame({'A':['a','','','a','','b','b','','b','']})
  

я хочу заменить пустые значения между двумя строками, имеющими одинаковое значение:
вывод:

Можем ли мы сделать это без iterrows?

Ответ №1:

Сначала замените пустые строки на отсутствующие значения, а затем сравните значения прямого и обратного заполнения и используйте только совпадающие значения:

 df=pd.DataFrame({'A':['a','','','a','','b','b','','b','']})

s = df.A.replace('', np.nan)

s1 = s.ffill()
s2 = s.bfill()

df.A = s1.where(s1.eq(s2), '')
print (df)
   A
0  a
1  a
2  a
3  a
4   
5  b
6  b
7  b
8  b
9