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

时间序列数据时间区间筛选失败,如何正确选择指定列数值范围?

解决时间序列数据的数值范围筛选问题

排查方向与解决方案

1. 检查列的数据类型

你的代码逻辑本身没问题,但得到空DataFrame最常见的原因是unit_time列不是数值类型(比如存储为字符串),导致数值比较失效。先确认数据类型:

print(data_frame['unit_time'].dtype)

如果输出是object,说明是字符串类型,需要先转换为数值类型:

# 转换为数值,无法转换的会设为NaN
data_frame['unit_time'] = pd.to_numeric(data_frame['unit_time'], errors='coerce')
# 移除转换后产生的NaN行(可选,根据需求)
data_frame = data_frame.dropna(subset=['unit_time'])

2. 使用更简洁的筛选方法

转换类型后,除了原有的逻辑,还可以用between()方法更直观地实现区间筛选:

df = data_frame[data_frame['unit_time'].between(360, 1000, inclusive='both')]

inclusive='both'表示包含两端的数值,这是默认值,可以省略。

3. 验证数据是否真的存在目标区间值

如果转换类型后还是空结果,直接查看unit_time的实际分布,确认是否有360-1000之间的数据:

print(data_frame['unit_time'].min(), data_frame['unit_time'].max())
print(data_frame['unit_time'].value_counts().sort_index())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:35:26