如何筛选DataFrame中以.00结尾的整数类型数据
方法1:数值取模判断(推荐,性能最优)
该方法直接对数值做运算判断,不需要类型转换,性能最高,适合Price列为数值类型的场景:
原理是末尾为.00的浮点数对1取余结果为0,代码如下:
# 基础写法 filtered_df = df[df['Price'] % 1 == 0] # 存在浮点数精度误差时的容错写法 filtered_df = df[abs(df['Price'] % 1) < 1e-6]
方法2:字符串后缀判断(适合严格匹配.00格式的场景)
如果需要严格匹配末尾字符为.00,或者Price列本身是字符串类型存储,可以用该方法:
# Price列为数值类型时,先格式化保留两位小数再判断后缀 filtered_df = df[df['Price'].apply(lambda x: f"{x:.2f}".endswith('.00'))] # Price列本身为字符串类型时,直接调用内置字符串方法 filtered_df = df[df['Price'].str.endswith('.00')]
以上两种方法运行后得到的filtered_df就是你需要的筛选结果:
Price 0 100.00 2 101.00
内容的提问来源于stack exchange,提问作者LukeAJN
相关产品推荐
相关产品推荐

