Как получить значения из повторяющегося столбца, если одинаковые значения соответствующей строки пусты - PullRequest
0 голосов
/ 19 июня 2020

Я пытался сопоставить пустое значение столбца билета с соответствующим номером заказа, имеющим значение, с номером билета. Но я не могу получить ожидаемый результат. Может ли кто-нибудь помочь мне в этом

Мой Dataframe:

Order number    Ticket 
13902   S0-015581
13902   
13501   
13501   S0-0012131
13809   S0-90-788
13809   S0-90-788

Ожидаемый Dataframe:

Order number    Ticket 
13902   S0-015581
13902   S0-015581
13501   S0-0012131
13501   S0-0012131
13809   S0-90-788
13809   S0-90-788

Мой код:

df["Ticket"].fillna(method='ffill', inplace=True) 

1 Ответ

3 голосов
/ 19 июня 2020

Сначала используйте Series.replace, если вместо отсутствующих значений являются строки mepty, а затем используйте настраиваемую лямбда-функцию с прямым и обратным заполнением отсутствующих значений:

df['Ticket'] = df['Ticket'].replace('', np.nan)

df['Ticket'] = df.groupby('Order number')['Ticket'].apply(lambda x: x.ffill().bfill())
print (df)
   Order number      Ticket
0         13902   S0-015581
1         13902   S0-015581
2         13501  S0-0012131
3         13501  S0-0012131
4         13809   S0-90-788
5         13809   S0-90-788
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...