Pandas数据框条件过滤时列丢失问题求助
问题解决:过滤DataFrame后丢失列的原因及修复
问题根源
你当前的过滤代码存在变量混淆:使用df_all的布尔条件来筛选df,但这两个DataFrame并非同一个对象,导致筛选后的结果只保留了df原本包含的列(而df可能并未包含city和state)。
修复方案
根据你的需求,选择以下两种正确写法之一:
- 如果你的完整原数据框是
df_all(包含所有列),直接基于df_all进行筛选:
df_chinese = df_all[df_all['type of food'] == 'chinese']
- 如果
df确实是包含city和state的原数据框,确保条件与筛选对象统一:
df_chinese = df[df['type of food'] == 'chinese']
验证方式
执行筛选前,可以先打印原数据框的列名确认是否包含目标列:
print(df.columns) # 或 print(df_all.columns)
内容的提问来源于stack exchange,提问作者larus_82
相关产品推荐
相关产品推荐

