Python中如何从DataFrame的Chronic列筛选值为Diabetes的行
提取DataFrame中Chronic列为Diabetes的数据实现方案
使用pandas做数据筛选时,通过布尔索引即可快速完成目标行提取,基于你提供的示例数据,操作步骤如下:
- 首先确保已经导入pandas库,构造/读取你的原始DataFrame
- 对
Chronic列做值匹配,传入布尔条件完成筛选
核心实现代码:
import pandas as pd # 构造示例数据(如果是从文件读取可跳过这步,用pd.read_csv/pd.read_excel等读取即可) df = pd.DataFrame({ "Patients": [1, 2, 3, 4, 5], "Chronic": ["Diabetes", "Diabetes", "Hypertension", "Hypertension", "Diabetes"] }) # 筛选目标数据 diabetes_data = df[df["Chronic"] == "Diabetes"]
执行后得到的筛选结果:
| Patients | Chronic |
|---|---|
| 1 | Diabetes |
| 2 | Diabetes |
| 5 | Diabetes |
其他可选实现方式
- 用
query方法写筛选逻辑,语法更接近自然SQL:
diabetes_data = df.query("Chronic == 'Diabetes'")
- 如果需要后续对筛选出的数据做修改,建议追加
.copy()避免链式索引警告:
diabetes_data = df[df["Chronic"] == "Diabetes"].copy()
小提示:如果你的数据里
Chronic列存在大小写不一致的情况(比如存了diabetes、DIABETES这类变体),可以先统一转小写再匹配,避免漏数:diabetes_data = df[df["Chronic"].str.lower() == "diabetes"]
内容的提问来源于stack exchange,提问作者Supraa
相关产品推荐
相关产品推荐

