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

pandas使用pd.cut划分得分区间后筛选无结果是什么原因?

问题根因

  • pd.cut()执行后生成的av_score_range列为Categorical(分类)类型,而非字符串类型,直接和字符串'(2, 3]'做等值判断时类型不匹配,因此无法返回匹配结果。
  • 次要排查方向:确认Av_Score字段的实际数值范围,是否确实存在大于2且小于等于3的数值。

正确筛选方案

你可以任选以下任意一种方式实现区间筛选:

  1. 用区间对象直接匹配分类值
import pandas as pd
filt = merged_df_no_dob['av_score_range'] == pd.Interval(left=2, right=3, closed='right')
merged_df_no_dob.loc[filt].head()
  1. 先把分类列转为字符串再匹配
filt = merged_df_no_dob['av_score_range'].astype(str) == '(2, 3]'
merged_df_no_dob.loc[filt].head()
  1. 直接基于原始分数字段筛选,绕开分类列
filt = (merged_df_no_dob['Av_Score'] > 2) & (merged_df_no_dob['Av_Score'] <= 3)
merged_df_no_dob.loc[filt].head()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:36:03