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

Python/Pandas如何筛选小数部分大于0.00的数值?

Pandas筛选小数部分非零数值的实现方法

你可以通过Pandas向量化的取模运算实现需求,该方案全程基于Pandas底层优化的运算逻辑,无需遍历行,完全适配大体积DataFrame的性能要求:

基础实现代码

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'Lineitem price': [4.00, 5.65, 1.22, 8.00, 10.78, 7.00, 2.85]
})

# 筛选小数部分非零的行
filtered_df = df[df['Lineitem price'] % 1 > 0]

运行后得到的filtered_df结果如下:

Lineitem price
1            5.65
2            1.22
4           10.78
6            2.85

浮点数精度优化方案

如果你的数据存在浮点数精度误差问题(例如整数数值因计算误差出现1.0000000000000002、3.999999999999999这类情况),可以增加极小阈值判断,避免误筛:

# 设置1e-9为误差容忍阈值,仅保留小数部分大于该阈值的数值
filtered_df = df[df['Lineitem price'] % 1 > 1e-9]

常用衍生操作

如果不需要过滤行,仅需要将整数数值替换为缺失值/自定义值,可以用where方法实现:

# 整数位置替换为NaN
df['Lineitem price'] = df['Lineitem price'].where(df['Lineitem price'] % 1 > 1e-9)

内容的提问来源于stack exchange,提问作者BernardoF

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:57:02