技术需求:按Polnum聚合数据并转换指定格式,字段有Yes则显示Yes否则No
需求实现方案
原始表格(示例):
| Polnum | Claim | Cancel | Renew |
|---|---|---|---|
| 123 | Yes | No | No |
| 123 | No | Yes | No |
| 456 | No | No | No |
期望结果:
| Polnum | Claim | Cancel | Renew |
|---|---|---|---|
| 123 | Yes | Yes | No |
| 456 | No | No | No |
核心逻辑:按Polnum分组,每组内的字段只要有一个值为Yes,该字段最终显示Yes,否则显示No。
方法一:Excel操作步骤
- 提取
Polnum的唯一值,生成新的基础表格。 - 以
Claim列为例,在新表格对应单元格输入公式:
公式说明:统计原始表中当前=IF(COUNTIFS(原始表!$A:$A, $A2, 原始表!$B:$B, "Yes")>0, "Yes", "No")Polnum下Claim为Yes的数量,大于0则返回Yes,否则返回No。 - 将公式横向复制到
Cancel、Renew等其他字段列,纵向复制到所有Polnum行,即可得到结果。
方法二:Python Pandas代码实现
import pandas as pd # 读取原始数据(替换为你的数据源路径) df = pd.read_excel("原始数据.xlsx") # 分组聚合处理 result = df.groupby("Polnum").agg( lambda col: "Yes" if (col == "Yes").any() else "No" ).reset_index() # 输出并保存结果 print(result) result.to_excel("处理后数据.xlsx", index=False)
内容的提问来源于stack exchange,提问作者moin
相关产品推荐
相关产品推荐

