如何合并行中频率不同的两个数据集并保留所有信息?

2024-10-16 20:45:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧。第一个被称为“人口统计”,看起来是这样的:

date_month  date_week  population  village  country
 2020-04    2020-04-06    1000        V1       C1
 2020-04    2020-04-06    1400        V2       C1
 2020-04    2020-04-06    1500        V2       C2
 2020-04    2020-04-06    1200        V3       C2
 2020-04    2020-04-13    1001        V1       C1
 2020-04    2020-04-13    1401        V2       C1
 2020-04    2020-04-13    1501        V2       C2
 2020-04    2020-04-13    1201        V3       C2
 2020-04    2020-04-20    1002        V1       C1
 2020-04    2020-04-20    1402        V2       C1
 2020-04    2020-04-20    1502        V2       C2
 2020-04    2020-04-20    1202        V3       C2
 2020-04    2020-04-27    1003        V1       C1
 2020-04    2020-04-27    1403        V2       C1
 2020-04    2020-04-27    1503        V2       C2
 2020-04    2020-04-27    1203        V3       C2

正如您所看到的,人口统计数据每行都有一个每周的频率。第二个数据集被称为“收入”具有每月频率,看起来是这样的:

date_month  village   country  income  person
 2020-04      V1         C1      10     John
 2020-04      V2         C1       8     Mike
 2020-04      V2         C2       9     Sarah
 2020-04      V3         C2      10     Adam

我想生成一个每周频率数据框,该数据框既包含人口列,也包含收入列,同时还保留了人员。像这样:

date_month  village   country  income  person   date_week   population 
 2020-04      V1         C1      10     John    2020-04-06     1000
 2020-04      V2         C1       8     Mike    2020-04-06     1400
 2020-04      V2         C2       9     Sarah   2020-04-06     1500
 2020-04      V3         C2      10     Adam    2020-04-06     1200
 2020-04      V1         C1      10     John    2020-04-13     1001
 2020-04      V2         C1       8     Mike    2020-04-13     1401
 2020-04      V2         C2       9     Sarah   2020-04-13     1501
 2020-04      V3         C2      10     Adam    2020-04-13     1201
 2020-04      V1         C1      10     John    2020-04-20     1002
 2020-04      V2         C1       8     Mike    2020-04-20     1402
 2020-04      V2         C2       9     Sarah   2020-04-20     1502
 2020-04      V3         C2      10     Adam    2020-04-20     1202
 2020-04      V1         C1      10     John    2020-04-27     1003
 2020-04      V2         C1       8     Mike    2020-04-27     1403
 2020-04      V2         C2       9     Sarah   2020-04-27     1503
 2020-04      V3         C2      10     Adam    2020-04-27     1203

我怎样才能有效地做到这一点?似乎我需要将每月数据集与频率数据集中的周数“相乘”,然后将其连接起来,假设date_month列中存在匹配项


Tags: 数据datev3johncountryv2频率mike