python - 单个列中的多个字符串匹配
问题描述
嗨,我正在使用 isin() 和 pandas 来找出数据集的“条件”列中包含“10”或“小时”的汽车。我在用
UScars.isin({'condition':[10, 'hours']})
但这给了我一个系统错误。
SystemError: 'built-in method view of numpy.ndarray object at 0x000001F40BF30EE0' returned a result with an error set.
我使用split()
条件列将类型从 str 转换为 list。
我不知道我哪里错了。任何帮助将不胜感激。
谢谢
解决方案
您需要str.contains
使用|
运算符来指定多个字符串匹配。
DataFrame 中的每个元素是否包含在值中。
df = pd.DataFrame({'A' : [0,1,2],
'Condition' : ['10 Hours', '20 Hours', '30 Days']})
print(df)
A Condition
0 0 10 Hours
1 1 20 Hours
2 2 30 Days
df[df['Condition'].str.contains('10|Hours')]
A Condition
0 0 10 Hours
1 1 20 Hours
推荐阅读
- ruby-on-rails - 如何在 Rails 6.0 中通过 activeadmin 使用内置的富文本编辑器
- javascript - 如何阻止 FullCalendar.js 在移动设备上垂直挤压?
- javascript - 在对象数组中创建唯一列表和数组项计数
- django - 如果我只有简单的模板,从 django 模板切换到 jinja 有什么好处吗?
- .net - 具有额外属性的 .NET JSON 序列化
- python - Pandas:如何在 pandas 数据框中的列上使用 map 来创建新列?使用 lambda 函数执行此操作时遇到问题
- scala - 有谁知道如何使用 Quill 设置最新的游戏框架工作项目
- dns - 组合具有不同“all”修饰符的多个 SPF 记录
- html - 如何使用 CSS 在 BR 标签后添加 em 空格()
- google-app-engine - Google Cloud appengine 部署:未找到应用