如何用Pandas计算指定区域(Wellington)的总人口?报错求解
解决方法
你的代码报错是因为把布尔筛选条件塞进了列表里,Place = [data['Region']=='Wellington']生成的是包含布尔Series的列表,列表只能用整数或切片做索引,用Series去索引肯定会触发类型错误。
以下是几种正确的实现方式:
- 直接筛选求和
# 筛选出Wellington的行,取Population列后求和 total_wellington_pop = data[data['Region'] == 'Wellington']['Population'].sum()
- 用groupby批量统计(适合后续计算其他地区)
# 按Region分组,计算各地区总人口 region_total_pop = data.groupby('Region')['Population'].sum() # 提取Wellington的总人口 wellington_pop = region_total_pop['Wellington']
- 用loc明确索引(更规范的写法)
# 用loc同时指定行筛选条件和目标列,再求和 total_wellington_pop = data.loc[data['Region'] == 'Wellington', 'Population'].sum()
内容的提问来源于stack exchange,提问作者jayden
相关产品推荐
相关产品推荐

