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

如何用R语言通过循环或函数匹配两个数据集添加税率变量?

将宽格式税收数据匹配到长格式GDP数据集

直接用pandas的格式转换+合并就能高效解决,完全不需要写循环,适合大规模数据集处理:

步骤说明

  1. 把宽格式的Dataset2(年份为行、国家为列)转成和Dataset1一致的长格式(年份+国家为行、税率为值);
  2. 通过Year和Country两个字段,将转换后的税收数据与Dataset1合并,自动填充对应税率。

代码实现

import pandas as pd

# 构造示例数据集(替换成你实际的读取代码,比如pd.read_csv)
dataset1 = pd.DataFrame({
    'Year': [2000, 2001, 2000, 2001],
    'Country': ['Austria', 'Austria', 'Belgium', 'Belgium']
})

dataset2 = pd.DataFrame({
    'Year': [2000, 2001],
    'Austria': [55, 51],
    'Belgium': [48, 45]
})

# 转换Dataset2为长格式
tax_long = dataset2.melt(
    id_vars='Year',  # 保留Year作为识别列
    var_name='Country',  # 原列名转为Country字段
    value_name='tax'  # 税率值转为tax字段
)

# 合并数据集,自动匹配年份和国家对应的税率
result = pd.merge(dataset1, tax_long, on=['Year', 'Country'], how='left')

print(result)

输出结果

Year  Country  tax
0  2000  Austria   55
1  2001  Austria   51
2  2000  Belgium   48
3  2001  Belgium   45

优势说明

  • 完全基于pandas的矢量化操作,比手动写循环效率高几个数量级,处理大规模数据时不会卡顿;
  • 自动过滤匹配不上的国家(如果Dataset1里有Dataset2没有的国家,对应tax会显示NaN,方便后续处理)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:45:31