You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除Pandas DataFrame中bathrooms列含非整数值的行?

解决Pandas DataFrame删除非整数bathrooms行的问题

直接用Pandas的向量化筛选比for循环高效且可靠,以下是两种可行方法:

方法1:比较原值与整数转换后的值

通过判断bathrooms列的值是否等于其转换为整数后的值,筛选出整数行:

import pandas as pd

data = pd.read_csv('house_data_2024.csv')
# 筛选bathrooms为整数的行
cleaned_data = data[data['bathrooms'] == data['bathrooms'].astype(int)]
# 查看清理后的数据
cleaned_data.head()

方法2:取模运算判断整数

利用取模1等于0的特性(整数除以1余数为0)来筛选:

import pandas as pd

data = pd.read_csv('house_data_2024.csv')
cleaned_data = data[data['bathrooms'] % 1 == 0]
cleaned_data.head()

为什么for循环容易失败?

在循环中直接删除DataFrame的行会导致索引动态变化,很容易出现漏删或索引错位的问题,而Pandas的向量化操作是基于整个列批量处理,不会有这类问题。

内容的提问来源于stack exchange,提问作者huyen tran nguyen huu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:37:06