regex - 根据列中的字符串过滤数据框

标签 regex python-3.x pandas

这个问题在这里已经有了答案:





pandas filter rows by two column values with case insenstive

(4 个回答)



Filtering pandas dataframe rows by contains str

(1 个回答)



how to filter pandas dataframe by string?

(3 个回答)


2年前关闭。




所以为了简单起见,因为我的数据集非常大,假设我有一个数据框:

df = pd.DataFrame([['Foo', 'Foo1'], ['Bar', 'Bar2'], ['FooBar', 'FooBar3']],
columns= ['Col_A', 'Col_B'])

当指定的列行包含部分不区分大小写的字符串 (foo) 时,我需要以消除整行的方式过滤此数据框。在这种情况下,我尝试过无济于事...... PS,我的正则表达式技能很垃圾,所以如果它因为这个原因不起作用,请原谅我。
df = df[df['Col_A'] != '^[Ff][Oo][Oo].*']

由于我的数据集的大小,效率是一个问题,这就是我没有选择迭代路线的原因。提前致谢。

最佳答案

使用 str.match

df[~df['Col_A'].str.match('^[Ff][Oo][Oo].*')]

结果
    Col_A   Col_B
1   Bar     Bar2

关于regex - 根据列中的字符串过滤数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57599863/

相关文章:

python - 根据另一个数据框的行范围添加/填充 Pandas 列

python - Pandas - 多线图

java - 为字符串生成 RegExr

javascript - 在空格上拆分短语,首字母缩略词除外

Javascript url 正则表达式在 url 末尾返回一个逗号,有什么方法可以解决这个问题吗?

java - 用于在 Eclipse 中查找并用 ArrayList<> 替换所有 ArrayList<something> 的正则表达式

python - "EOF error"在程序退出时使用多处理队列和线程

linux - 为什么打开字符设备文件时Python为什么执行 `TIOCGWINSZ` ioctl调用?

python - Scrapy 中的自定义文件管道从不下载文件,即使日志应该访问所有功能

python - 根据 pandas 的条件将行分成 2 行