首页 > 解决方案 > 如何在删除列中的匹配模式时忽略空值?

问题描述

我有一个数据框,我想从中匹配一个模式,然后从数据框中删除不匹配的行。因此,为此我使用了str.contains,而我正在放弃它。我收到一条错误消息Can't mask null values。如何在放弃牛市值的同时忽略它们?

My code:

df = 
   a   b
0  2   3
1      5
2 34we 9
3  4   9

df[df['a'].str.contains(r'^\d+$')]

Error: 'Can't mask Naan Values


Excepted output:

   a   b
0  2   3
1      5
3  4   9

标签: pythonpandasstringnullmatch

解决方案


na=True在函数中使用str.contains分配nanTrue

In [907]: df[df['a'].str.contains(r'^\d+$', na=True)]
Out[907]: 
     a  b
0    2  3
1       5
3    4  9

推荐阅读