Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用正则表达式过滤数据帧

使用正则表达式过滤数据帧
EN

Stack Overflow用户
提问于 2021-10-19 01:18:06
回答 1查看 40关注 0票数 0

我有一个Dataframe,它的列中的值由分号分隔,例如。Patient1_Control2;Patient1_Patient3;Control1_Control3。但是,我只想要带有PatientX_ControlX或ControlX_PatientX的行。我不想要ControlX_ControlX或PatientX_PatientX。我想到了filter(regex = '...')方法,但这并不能很好地完成工作。我希望通过正则表达式过滤数据帧,其中我可以使用正则表达式PatientX_ControlX或ControlX_PatientX (x表示随机字符串)。有什么方法可以做到这一点吗?提前谢谢你了。我还在学习如何编写代码,所以每一个技巧都会很棒。如果你有任何资源可以让我了解更多关于正则表达式的知识,那就太棒了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-19 01:38:51

筛选列data,使其不包含相关值-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df[~(df["data"].str.contains('Patient\d+_Control\d+|Control\d+_Patient\d+'))]

对于以下数据帧-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.DataFrame({"data":["Patient1_Control2", "Patient1_Patient3", "Control1_Patient3", "Control1_Control3"]})

df[~(df["data"].str.contains('Patient\d+_Control\d+|Control\d+_Patient\d+'))]

输出是-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
                data
1  Patient1_Patient3
3  Control1_Control3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69628169

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文