首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查DataFrame单元格中是否存在字符

如何检查DataFrame单元格中是否存在字符
EN

Stack Overflow用户
提问于 2016-09-03 03:44:12
回答 2查看 18.4K关注 0票数 8

在创建三行DataFrame之后:

代码语言:javascript
运行
复制
import pandas as pd
df = pd.DataFrame({'a': ['1-2', '3-4', '5-6']})

我检查是否有等于‘3-4’的单元格:

代码语言:javascript
运行
复制
df['a']=='3-4'

由于df['a']=='3-4'命令会产生pandas.core.series.Series对象,因此我可以使用它来创建原始DataFrame的“过滤”版本,如下所示:

代码语言:javascript
运行
复制
filtered = df[ df['a']=='3-4' ]

在Python中,我可以使用以下命令检查字符串字符在另一个字符串中是否出现:

代码语言:javascript
运行
复制
string_value = '3-4'
print('-' in string_value)

在使用DataFrames的同时,有什么方法可以实现同样的目标?

因此,我可以通过检查每个行的单元格中是否有'-‘字符来创建原始DataFrame的过滤版本,例如:

代码语言:javascript
运行
复制
filtered = df['-' in df['a']]

但是上面的语法是无效的,并抛出KeyError: False错误消息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-03 03:48:56

使用strcontains

代码语言:javascript
运行
复制
In [5]: df['a'].str.contains('-')
Out[5]: 
0    True
1    True
2    True
Name: a, dtype: bool
票数 16
EN

Stack Overflow用户

发布于 2019-12-05 17:57:23

以下是如何使用query执行此操作:

代码语言:javascript
运行
复制
In [4]: df.query('a.str.contains("1")')
Out[4]: 
     a
0  1-2

In [5]: df.query('a.str.contains("-")')
Out[5]: 
     a
0  1-2
1  3-4
2  5-6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39299703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档