Как заполнить столбец в диапазонах значениями из того же столбца в Python? - PullRequest
1 голос
/ 21 октября 2019

У меня есть датафрейм df1:

col_1   col_2
A       a1
A       a2
B       
A       a3
C  
A       a4
A       a5
D
A       a6
A       a7
B

Для непустых значений из col_2 значения из col_1 всегда имеют значение A. Однако для пустых значений из col_2 значения из col_1 всегда отличаются от A, но они могут повторяться.

И мне нужен вывод, например:

col_1   col_2
B       a1
B       a2
C       a3
D       a4
D       a5
B       a6
B       a7

Какя могу сделать это? Спасибо за помощь.

1 Ответ

4 голосов
/ 21 октября 2019

Вот один из способов сделать это:

mask = df.col_1 != 'A'

# Index col_1 based on the index of the mask's first true value
df.col_1 = df.col_1.iloc[[mask[i:].idxmax() for i in range(len(df))]].values

# Them simply drop the empty rows
df[~df.col_2.isnull()]

Вывод:

  col_1 col_2
0     B    a1
1     B    a2
3     C    a3
5     D    a4
6     D    a5
8     B    a6
9     B    a7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...