检查列是否包含nan,剪切并粘贴到下一列

2024-05-19 23:03:07 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我有一个数据框,我想检查完整的行列,如果包含任何str,只需剪切并粘贴到名为“减行”的新列,否则保持单元格不变

应用它的最佳方式是什么。提前谢谢

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楼 · 发布于 2024-05-19 23:03:07
 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,如上所示 希望能有帮助

相关问题 更多 >