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

如何将小区域人口合并至对应大区域后与事故数据集关联

实现方案

可以直接通过常用数据处理库的内置函数实现,以下是两种主流工具的实现逻辑:

Python(基于pandas库)

核心用到map()、groupby()、merge()三个函数,步骤如下:

  1. 先定义TA到对应大区的映射字典,覆盖所有TA条目
ta_region_map = {
    "基督城": "坎特伯雷",
    "塞尔温": "坎特伯雷",
    "阿什伯顿": "坎特伯雷",
    "蒂马鲁": "坎特伯雷",
    "皇后镇湖区": "奥塔哥",
    "中奥塔哥": "奥塔哥",
    "克鲁萨": "奥塔哥",
    # 剩余大区对应的TA映射按规则补充完整即可
}
  1. 给人口数据集新增大区字段
population['region'] = population['TA'].map(ta_region_map)
  1. 按大区维度汇总总人口
region_pop_total = population.groupby('region', as_index=False)['Population'].sum()
  1. 按大区字段关联两份数据集
final_result = crashes.merge(region_pop_total, on='region', how='left')

R(基于dplyr包)

核心用到mutate()+case_when()、group_by()+summarise()、left_join()三个组合函数,步骤如下:

  1. 给人口数据集新增大区字段并汇总大区人口
library(dplyr)

region_pop_total <- population %>%
  mutate(region = case_when(
    TA %in% c("基督城","塞尔温","阿什伯顿","蒂马鲁") ~ "坎特伯雷",
    TA %in% c("皇后镇湖区","中奥塔哥","克鲁萨") ~ "奥塔哥",
    # 剩余大区的映射规则按要求补充即可
  )) %>%
  group_by(region) %>%
  summarise(Population = sum(Population, na.rm = T))
  1. 关联两份数据集
final_result <- crashes %>%
  left_join(region_pop_total, by = "region")
注意事项
  • 需确保TA到大区的映射规则覆盖所有TA条目,避免汇总时出现空值
  • 关联时默认保留事故表的所有大区条目,可根据需求调整关联方式(如内连接)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:54:05