如何在IPython Notebook中提取包含指定值的整行数据
问题解决方法
报错原因
你写的Info_data.at[City = [Nairobi]]存在多个问题:
at访问器仅适用于按行/列标签提取单个单元格值,不支持条件筛选整行数据的场景- pandas条件筛选的语法不符合规范,列名、字符串值的引用方式都有错误,
Nairobi作为字符串没有加引号,才会触发SyntaxError。
正确实现代码
以下是3种常用的正确写法,均可得到你需要的结果:
- 基础布尔索引写法(最常用,适合快速筛选)
Info_data[Info_data['city'] == 'Nairobi']
- loc写法(适合筛选后需要修改原表数据的场景)
Info_data.loc[Info_data['city'] == 'Nairobi', :]
- query写法(语法更简洁易读)
Info_data.query("city == 'Nairobi'")
输出说明
运行以上任意代码后,都会返回city字段值为Nairobi的所有整行数据,和你预期的输出一致。
内容的提问来源于stack exchange,提问作者Sravya papaganti
相关产品推荐
相关产品推荐

