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

如何按另一变量汇总变量值:实现pivot from long to vector

按变量分组汇总另一变量的唯一值为向量(类宽表转换)

当然可以实现这种分组汇总需求——按var1分组,提取var2的唯一值并整理成向量/指定格式的字符串。以下是两种常用工具的实现方案:

R 实现(dplyr)

先构造示例数据,再通过分组+提取唯一值完成汇总:

library(dplyr)

# 示例数据
df <- tibble(
  var1 = c(1,1,1,1,1,2,2,2,2),
  var2 = c(2,4,4,4,6,8,8,10,12)
)

# 直接生成向量列表格式
result_list <- df %>%
  group_by(var1) %>%
  summarize(var2 = list(unique(var2))) %>%
  ungroup()

# 转换为你需要的带括号的字符串格式
result_str <- result_list %>%
  mutate(var2 = paste0("(", paste(var2, collapse = ", "), ")"))

Python 实现(Pandas)

利用分组聚合结合lambda函数处理唯一值并格式化:

import pandas as pd
import numpy as np

# 示例数据
df = pd.DataFrame({
    'var1': [1,1,1,1,1,2,2,2,2],
    'var2': [2,4,4,4,6,8,8,10,12]
})

# 一步生成目标格式结果
result = df.groupby('var1')['var2'].agg(
    lambda x: f"({', '.join(map(str, np.unique(x)))})"
).reset_index()

两种方案都能得到你期望的输出:按var1分组后,var2列呈现该组下的唯一值集合。如果需要保留向量/列表对象而非字符串,去掉格式转换的步骤即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:10:16