как заполнить python, добавив строку типа «(Копировать)» - PullRequest
2 голосов
/ 19 июня 2020

Input and expected output

Пробовал, но не работает должным образом df = df.fillna(method='bfill') + df.fillna('(Copy)')

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Вы можете попробовать это:

(df.bfill() + df.fillna(' (copy)').where(df.isna())).fillna(df)

Или

df.bfill().add(df.fillna(' (copy)').where(df.isna(), ''))

Вывод:

  column1     column2 column3      column4
0       a         cat   mouse       cheese
1       b  dog (copy)     NaN  food (copy)
2       c         dog     NaN         food
0 голосов
/ 19 июня 2020

Вы можете использовать df.bfill с np.where вместе с df.notna

df_out = df.bfill() + np.where(df.notna(),'',' (Copy)')
df_out
  col1        col2   col3         col4
0    a         cat  mouse       cheese
1    b  dog (Copy)    NaN  food (Copy)
2    c         dog    NaN         food
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...