使用df.loc按条件求和时出现AttributeError: 'numpy.int64'无'loc'属性错误
问题解决方法
错误原因
你犯了两个关键错误:
- 把求和后的数值结果重新赋值给了原DataFrame变量
df3,导致df3从DataFrame类型变成了numpy.int64类型,后续调用.loc自然会报错(数值类型没有.loc属性)。 - 第一个条件末尾多了一个逗号,使得布尔筛选条件变成了元组,会引发逻辑运算异常。
修正后的代码
# 用新变量存储求和结果,避免覆盖原DataFrame total_events = df3.loc[ (df3['Feature Name'] == 'GI - MIPS PI - Filter Scorecard Data Panel - Measures(All) - PI_HIE_1: Support Electronic Referral Loops by Sending Health Information Measure Checkbox') & (df3['Practice Management Software'] == 'Intergy'), 'Events' ].sum()
额外说明
- 保留原
df3的DataFrame类型,后续可继续对它执行其他操作。 - 移除条件中的多余逗号,确保筛选条件为布尔数组,才能正常执行逻辑与运算。
内容的提问来源于stack exchange,提问作者Sangeeta Malve
相关产品推荐
相关产品推荐

