如何在列中创建具有某些值的数据框的子集?

时间:2019-04-14 18:18:08

标签: python python-3.x dataframe

我试图基于在列中找到的多个值创建数据框的子集。该列为“ tencode_desc”,我要选择的值为:

“抢劫/抢劫”,“银行抢劫”,“盗窃住宅”,“盗窃-     非住宅”,“盗窃”

我尝试使用这些字符串创建一个新变量,然后在列中使用.isin函数

3523173

这是我尝试过的:

/

我收到此错误 df.columns Index(['id', 'call_time', 'complaint_id', 'shift', 'tencode', 'tencode_desc','disposition', 'disposition_desc', 'unit', 'sector', 'zone', 'lat','lng'],dtype='object')

1 个答案:

答案 0 :(得分:1)

使用

df = df[df.tencode_desc.str.contains('|'.join(tenecode_filter))]

将选项加入正则表达式中。您可能需要转义使用的特殊字符,例如'/'。如

tencode_filter = ['Holdup \/ Robbery', 'Bank Robbery', 'Burglary Residence', 'Burglary - Non-Residence', 'Theft'].