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

如何创建经dummy变量过滤、按countrycode分组的Value均值新列

操作方法

以下是不同常用工具的实现步骤:

Excel/WPS 表格

  • 新增一列,列名设为Mean
  • 在第一行数据的Mean单元格输入公式:=AVERAGEIFS($D:$D,$A:$A,A2,$C:$C,1),公式中D列对应Value列、A列对应countrycode列、C列对应dummy列,可根据你的实际列号调整
  • 下拉公式填充所有行即可,如需将小数点改为逗号、调整保留小数位数,直接设置单元格格式即可。

Python(Pandas库)

import pandas as pd

# 假设你的数据集已读取为DataFrame对象df
# 先筛选dummy=1的行,按国家分组计算Value均值
dummy1_mean = df[df['dummy'] == 1].groupby('countrycode')['Value'].mean().rename('Mean')
# 将计算好的均值匹配到原数据集的对应国家所有行
df = df.merge(dummy1_mean, on='countrycode', how='left')

# 如需把小数点替换为逗号,可补充以下代码
df['Mean'] = df['Mean'].apply(lambda x: str(round(x, 3)).replace('.', ','))

R(dplyr包)

library(dplyr)

# 假设你的数据集名为df
df <- df %>%
  group_by(countrycode) %>%
  # 分组后仅计算当前组内dummy=1的行的Value均值
  mutate(Mean = mean(Value[dummy == 1])) %>%
  ungroup()

# 如需把小数点替换为逗号,可补充以下代码
df$Mean <- sub("\\.", ",", round(df$Mean, 3))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:18:02