如何将BigQuery数组行转列并按ID统计Value列各值数量
解决方案:数组列转多列并按ID统计出现次数
Excel 动态方案(适配Value列数据变化)
提取所有唯一Value值
- 假设原数据ID在A列、Value在B列,找个空白单元格输入公式:
这个公式会自动拆分所有数组内容、去重,B列数据更新时它会同步刷新结果。=UNIQUE(TOCOL(TEXTSPLIT(B:B, ","), 1))
按ID统计每个Value的出现次数
- 把上面得到的唯一值作为新表头(比如放在D1、E1...位置)
- 在D2单元格输入统计公式,完成后下拉填充所有ID行、右拉填充所有Value列:
只要B列数据变动,统计结果会自动更新。=COUNTIFS($A:$A, $A2, $B:$B, "*"&D$1&"*")
Python 脚本方案(适合自动化/大数据量场景)
写个可重复运行的脚本,每次Value列数据变化后重新执行即可:
代码示例
import pandas as pd # 读取原数据(如果是Excel文件,替换成pd.read_excel) df = pd.read_csv("your_data.csv") # 拆分Value列的数组并展开成多行 df_expanded = df.assign(Value=df['Value'].str.split(',')).explode('Value') # 清理Value项的多余空格 df_expanded['Value'] = df_expanded['Value'].str.strip() # 按ID和Value分组统计次数,转成目标表格式 result = df_expanded.groupby(['ID', 'Value']).size().unstack(fill_value=0) # 保存统计结果 result.to_csv("stat_result.csv")
内容的提问来源于stack exchange,提问作者beomboong
相关产品推荐
相关产品推荐

