Pandas筛选特定条件DataFrame并重置索引显示末尾10行的方法
解决方案
步骤1:处理ApplicantIncome(若为带货币符号的字符串)
如果ApplicantIncome列是包含S$的字符串类型,需先清理数据转换为数值:
# 移除S$符号并转换为浮点数 df['ApplicantIncome'] = df['ApplicantIncome'].str.replace('S$', '').astype(float)
步骤2:筛选数据并创建df_urban
用布尔索引筛选Property_Area为Urban且ApplicantIncome≥10000的行,通过.copy()避免后续操作影响原数据集:
df_urban = df[(df['Property_Area'] == 'Urban') & (df['ApplicantIncome'] >= 10000)].copy()
步骤3:重置行索引
重置索引并丢弃原索引列:
df_urban = df_urban.reset_index(drop=True)
步骤4:显示最后10行
用.tail(10)方法直接获取并展示最后10行:
print(df_urban.tail(10)) # 若在Notebook环境,直接执行即可显示: df_urban.tail(10)
现有代码问题说明
df_urban = df仅创建原DataFrame的引用,未做任何筛选,修改df_urban会同步影响原df。df_urban.iloc[-10:[11]]索引格式错误,即便写法正确也只是取原数据集最后10行,完全未实现需求的筛选逻辑。
内容的提问来源于stack exchange,提问作者bhseah
相关产品推荐
相关产品推荐

