Проверьте, содержит ли столбец nan, вырезать и вставить в следующий столбец - PullRequest
0 голосов
/ 04 мая 2020

Привет, у меня есть фрейм данных. Я хотел бы проверить столбец Full_Row, если он содержит какую-либо строку, просто вырезать и вставить в новый столбец с именем Minus_row, иначе оставьте ячейку такой, какая она есть.

как лучше всего это применить. Заранее спасибо

df_1 = pd.DataFrame({'a': ['Hi', np.nan, 'jak','kind'],
                    'b': ['Hi', 'happy', 'Ali','smile'],
                    'c': [np.nan, 'Ali', 'hak','cute'],
                    'd': ['123456', '123456', '123456','123456']})

df_1['Full_Row'] = df_1.astype(str).apply(', '.join, axis=1)
df_1

DataFrame

1 Ответ

1 голос
/ 04 мая 2020
 In [27]: df_1.loc[ df_1['Full_Row'].astype(str).str.contains('nan') , 'Minus_Row' ] = df_1['Full_Row']



In [28]: df_1.loc[ df_1['Full_Row'].astype(str).str.contains('nan') , 'Full_Row' ] = ''

In [29]: df_1
Out[29]:
      a      b     c       d                   Full_Row                Minus_Row
0    Hi     Hi   NaN  123456                                 Hi, Hi, nan, 123456
1   NaN  happy   Ali  123456                             nan, happy, Ali, 123456
2   jak    Ali   hak  123456      jak, Ali, hak, 123456                      NaN
3  kind  smile  cute  123456  kind, smile, cute, 123456                      NaN

Эй, вы можете использовать метод str.contains, чтобы проверить, существует ли nan в строке, как показано выше, надеюсь, это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...