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

基于第一列v的整数值过滤DataFrame的技术需求

筛选DataFrame中v列为整数值的行

首先咱们明确需求:从你的DataFrame里只保留v列值为整数的行(像3.0、4.0这类本质是整数的浮点数也符合要求)。

原始数据

先把你的输入DataFrame用代码还原出来:

import pandas as pd

data = {
    'v': [2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0],
    'P_el': [0, 78, 172, 287, 426, 601, 814, 1069, 1367, 1717, 2110, 2546, 3002, 3427, 3751, 3922]
}
df = pd.DataFrame(data)

方法一:用is_integer()判断浮点数属性

浮点数类型自带is_integer()方法,可以直接判断该值是否为整数,结合apply就能筛选:

filtered_df = df[df['v'].apply(lambda x: x.is_integer())]
print(filtered_df)

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

另一种思路是把v列转成整数再和原值对比,相等的就是整数型浮点数:

filtered_df = df[df['v'] == df['v'].astype(int)]
print(filtered_df)

最终输出

两种方法都会得到你期望的结果:

v  P_el
1   3.0    78
3   4.0   287
5   5.0   601
7   6.0  1069
9   7.0  1717
11  8.0  2546
13  9.0  3427
15 10.0  3922

如果你的v列里存在真正的整数类型(不是浮点数),这两种方法也完全适用,兼容性拉满。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:10:14