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

pandas基于其他列值计算房地产行业捐赠金额总和问题求解

问题原因

你代码的求和逻辑存在错误:循环中累加的是行索引变量row的整数值,而非对应行的捐款金额Amount字段,导致计算出来的总金额和实际值偏差极大。你代码里只打印了Amount的值,求和时误用了行索引,所以才会出现粘贴打印值到表格求和和代码结果不一致的问题。

修正后的循环代码
realestate_counter = 0
realestate_donations = 0
for row in range(df.shape[0]): # 遍历dataframe每一行
    if 'realestate' in df.iloc[row]['Occupation']:
        # 累加对应行的捐款金额,而非行索引
        realestate_donations = realestate_donations + int(df.iloc[row]['Amount'])
        print(df.iloc[row]['Amount'])
        realestate_counter = realestate_counter + 1
print('$' + str(realestate_donations) +' 来自房地产行业的捐款。')
print('共有 ' + str(realestate_counter) +' 位房地产行业捐赠者。')
更高效的pandas原生写法(无需手动循环)

pandas支持向量化操作,直接通过筛选条件统计即可,代码更简洁执行效率更高:

# 筛选职业包含realestate的行,na=False可避免空值报错
realestate_df = df[df['Occupation'].str.contains('realestate', na=False)]
realestate_donations = realestate_df['Amount'].sum()
realestate_counter = realestate_df.shape[0]

print(f'${realestate_donations} 来自房地产行业的捐款。')
print(f'共有 {realestate_counter} 位房地产行业捐赠者。')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:15:01