如何在Power Query中为分组扩展后的表格添加组内字母标识
如何为分组内的对象添加A/B/C类字母标识?
现有数据
原始数据如下:
Object Feature1 Feature2 Obj1 1.2 2.8 Obj2 1.6 2.2 Obj3 1.6 2.2 Obj4 1.2 2.8 Obj5 1.2 2.8 ...
期望效果
希望对数据排序后为每个对象赋予新名称:特征相同的对象使用相同数字(1、2...),同组内不同对象用A、B、C...区分,示例如下:
Object Feature1 Feature2 Name Obj1 1.2 2.8 1A Obj4 1.2 2.8 1B Obj5 1.2 2.8 1C Obj2 1.6 2.2 2A Obj3 1.6 2.2 2B ...
已尝试操作
已将所有特征合并为merged列,按该列分组并添加组编号,扩展表格后得到如下结果:
Object Feature1 Feature2 Name Obj1 1.2 2.8 1 Obj4 1.2 2.8 1 Obj5 1.2 2.8 1 Obj2 1.6 2.2 2 Obj3 1.6 2.2 2 ...
解决方案
用Python Pandas处理
- 基于已有的组编号列,按组分组后生成组内递增的字母标识
- 将组编号与字母拼接成最终名称
示例代码:
import pandas as pd # 假设数据已存入DataFrame df,且已有组编号列Name df['letter'] = df.groupby('Name').cumcount().apply(lambda x: chr(ord('A') + x)) df['Name'] = df['Name'].astype(str) + df['letter'] df.drop('letter', axis=1, inplace=True)
用Excel处理
- 确保数据已按组编号列排序
- 在空白列(如D列)的首行(对应第一组第一行)输入公式,下拉填充即可:
注:公式中=B2&CHAR(64+COUNTIF($B$2:B2,B2))B2为组编号所在单元格,根据实际位置调整即可
内容的提问来源于stack exchange,提问作者sebastian wei
相关产品推荐
相关产品推荐

