如何筛选Pandas DataFrame中Q1答“No”且年龄<40的问卷记录?
筛选符合条件的问卷记录
直接用Pandas的布尔索引就能实现需求,步骤如下:
- 先导入所需依赖库(示例里用到了numpy的空值类型):
import pandas as pd import numpy as np
- 创建你提供的示例DataFrame:
df = pd.DataFrame({ 'q1 : do you pratice magic ?' : ['yes', 'no', 'no', 'not sure', 'yes', 'no'], 'q2 : What is your wizard level ?' : [8,np.nan,np.nan,np.nan,2,np.nan], 'q3 : Have you special abilities ?' : [np.nan,np.nan,np.nan,'yes',np.nan,np.nan], 'q4 : Are you a muggle ?' : [np.nan,'yes','don\'t know',np.nan,np.nan,'yes'], 'q5 : How old are you ?' : [20,14,48,27,36,45] })
- 执行筛选操作,同时满足「Q1回答'no'」和「年龄小于40」两个条件:
# 用&连接两个逻辑条件,注意每个条件都要单独加括号 filtered_df = df[(df['q1 : do you pratice magic ?'] == 'no') & (df['q5 : How old are you ?'] < 40)]
- 查看筛选结果:
print(filtered_df)
运行后会得到唯一符合条件的记录:
| q1 : do you pratice magic ? | q2 : What is your wizard level ? | q3 : Have you special abilities ? | q4 : Are you a muggle ? | q5 : How old are you ? | |
|---|---|---|---|---|---|
| 1 | no | NaN | NaN | yes | 14 |
内容的提问来源于stack exchange,提问作者BenjiBoy
相关产品推荐
相关产品推荐

