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

按State列统计Wallet Type列值,生成指定格式统计表格

解决表格按State统计Wallet Type的需求

原始Table A

Wallet Type State 
------------------------ 
106         1 
106         2 
106         1 
106         1 
106         2 
112         1 
112         2 
112         2 

目标Table B(期望结果)

State Distributor(106) Agent(112) 
---------------------------------------- 
 1     3                1 
 2     2                2 

嘿,这事儿很简单!你要做的就是把原始的行数据转换成按State分组,统计不同Wallet Type数量的透视表,我给你两个常用工具的实现方案:


方案1:用SQL实现

如果你的数据存在数据库里,用下面的SQL查询就能直接得到目标结果:

SELECT
    State,
    COUNT(CASE WHEN "Wallet Type" = 106 THEN 1 END) AS "Distributor(106)",
    COUNT(CASE WHEN "Wallet Type" = 112 THEN 1 END) AS "Agent(112)"
FROM
    YourTableName  -- 替换成你的实际表名
GROUP BY
    State
ORDER BY
    State;

逻辑解释:

  • 用GROUP BY State把数据按State分组
  • 用CASE WHEN筛选出每个组内Wallet Type为106/112的记录,再用COUNT统计数量
  • 最后按State排序,和目标Table B的格式完全匹配

方案2:用Python Pandas实现

如果是用Python处理数据,用Pandas的透视表功能可以快速搞定:

import pandas as pd

# 先构造原始数据(如果你的数据是从文件读取的,替换成pd.read_csv之类的即可)
df = pd.DataFrame({
    'Wallet Type': [106, 106, 106, 106, 106, 112, 112, 112],
    'State': [1, 2, 1, 1, 2, 1, 2, 2]
})

# 生成透视表并调整格式
table_b = df.pivot_table(
    index='State',
    columns='Wallet Type',
    aggfunc='size',  # 统计行数
    fill_value=0     # 空值填充为0
).rename(columns={106: 'Distributor(106)', 112: 'Agent(112)'}).reset_index()

# 打印出和目标格式一致的结果
print(table_b.to_string(index=False))

运行这段代码后,输出的结果就和你要的Table B一模一样啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:25:42