You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的pandas提取单列中两个特定值并生成新DataFrame

提取Animal列为cat和dog的行的解决方法

你的原始代码用&(逻辑与)是错误的——同一行的Animal列不可能同时等于cat和dog,所以筛选结果为空。以下是两种正确的实现方式:

首先定义你的DataFrame:

import pandas as pd
d = pd.DataFrame({'Animal':['cat', 'dog', 'bird', 'dog', 'bird', 'bird'],'Age':[1,3,5,3,4,2]})

方法1:用逻辑或运算符(|)

将逻辑与&替换为逻辑或|,表示满足任一条件即可:

filtered_df = d[(d['Animal'] == 'cat') | (d['Animal'] == 'dog')]

方法2:用isin()方法(更简洁)

当需要匹配多个值时,isin()是更高效的写法,直接传入目标值组成的列表:

filtered_df = d[d['Animal'].isin(['cat', 'dog'])]

执行后得到的筛选结果如下:

Animal  Age
0    cat    1
1    dog    3
3    dog    3

内容的提问来源于stack exchange,提问作者jayden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 15:45:33