筛选DataFrame中Active为True的行返回空结果,求技术协助
问题解决方法
你的筛选结果为空,核心原因是筛选条件的取值和DataFrame中Active列的实际值不匹配,以下是针对性解决方案:
先确认Active列的类型和取值
先执行以下代码,明确列的类型和实际存储的值:
print("列类型:", df['Active'].dtype) print("唯一值:", df['Active'].unique())
根据实际情况选择筛选方式
情况1:Active是布尔类型(pandas会将布尔值显示为大写的TRUE/FALSE)
直接使用布尔值True(不带引号)进行筛选:
# 方式1:直接比较布尔值 mask = df['Active'] == True df_new = df[mask] # 方式2:更简洁的写法,直接用列作为筛选条件 df_new = df[df['Active']] print(df_new)
情况2:Active是字符串类型(实际存储值为'TRUE'/'FALSE')
需要匹配大写的字符串'TRUE':
mask = df['Active'] == 'TRUE' df_new = df[mask] print(df_new)
执行对应代码后,就能正确筛选出Active为TRUE的行。
内容的提问来源于stack exchange,提问作者user2738776
相关产品推荐
相关产品推荐

