如何筛选RISK_SEGMENTATION_x为H的数据并统计STATE_x_x频次?
问题解决:筛选"H"风险分段数据并统计频次
原代码存在语法错误导致执行报错,修正方案如下:
原代码错误点
- 条件判断不能直接写在列选择列表中,需先完成行筛选
H未加引号,Python会将其识别为未定义变量,需改为字符串常量'H'- 整体索引逻辑不符合Pandas的使用规范
正确代码写法
写法一:分步筛选(可读性强)
# 筛选风险分段为"H"的行,再选择目标列,最后统计频次 filtered_df = masterdata[masterdata['RISK_SEGMENTATION_x'] == 'H'][['STATE_x_x', 'RISK_SEGMENTATION_x']] filtered_df.value_counts()
写法二:使用loc索引(推荐,避免链式索引风险)
masterdata.loc[masterdata['RISK_SEGMENTATION_x'] == 'H', ['STATE_x_x', 'RISK_SEGMENTATION_x']].value_counts()
说明
- 通过
masterdata['RISK_SEGMENTATION_x'] == 'H'生成布尔筛选器,仅保留风险分段为"H"的行 - 选择
STATE_x_x和RISK_SEGMENTATION_x两列后,调用value_counts()即可统计这两列组合的出现频次,自动排除L、M相关数据
内容的提问来源于stack exchange,提问作者ADITYA YADAV
相关产品推荐
相关产品推荐

