【发布时间】:2021-03-24 12:20:03
【问题描述】:
我有一个数据框,我正在使用正则表达式来检查列的数据模式,同时执行此操作时其中有空值。由于空值,它能够匹配。我不想放弃它们,或者用其他值替换它。我想忽略它,尽管我尝试获取错误或将 NONE 作为输出。我们如何在进行匹配时忽略空值?
代码:
df =
a b c
0 rt-0000 abc 1
1 vb 2
2 rt-1234 abc 3
3 op 4
4 rt-123 oip 5
format = 'rt-\d\d\d\d'
if df['a'].isnull().any():
continue
correct_df = df[df[key].str.match(format )]
wrong_df = df[~df[key].str.match(format )]
输出给出:NONE
当我尝试不忽略空值时出现错误:'Cannot mask Naan/Null values'
异常输出:
corrected_df:
a b c
0 rt-0000 abc 1
1 vb 2
2 rt-1234 abc 3
3 op 4
wrong_df:
4 rt-123 oip 5
我尝试使用不同的 if 条件,但最终得到相同的输出。我们可以忽略空值吗?
【问题讨论】:
-
我在您的数据中没有看到任何空值
-
@MonkeyZeus 哎呀!我忘了添加它们。我已经将它与例外输出一起编辑了
标签: python regex null python-re