【发布时间】:2018-01-27 11:30:53
【问题描述】:
我有下表
date ui mw maxw tC HL msurp
01/03/2004 A 10 10 eC 0.25 0.1
01/04/2004 A 10 10 eC 0.25 -0.1
01/03/2004 B 20 20 bC 0.5 0.3
01/03/2004 B 20 20 bC 0.25 0.3
我要做的是在此表中添加一个列,该列基本上枚举了 ui、mw、maxw、tC 和 HL 的唯一组合并枚举
例如上表中的例子
ui、mw、maxw、tC 和 HL 的独特组合是
A,10, 10, eC, 0.25
B,20, 20, bC, 0.5
B,20, 20, bC, 0.5
总共有 3 个,所以输出应该是这样的
date ui mw maxw tC HL msurp counter
01/03/2004 A 10 10 eC 0.25 0.1 1
01/04/2004 A 10 10 eC 0.25 -0.1 1
01/03/2004 B 20 20 bC 0.5 0.3 2
01/03/2004 B 20 20 bC 0.25 0.3 3
【问题讨论】:
-
顺序重要吗?如果没有,可以使用 ngroup:
df.groupby(['ui', 'mw', 'maxw', 'tC', 'HL']).ngroup() -
您不是也按日期汇总吗?另外,如果有多个值,你想如何聚合
msurp? -
一旦我有了这个“计数器”,我只是想识别独特的组合。然后我可以按此聚合,而不是按 [ui、mw、maxw 等指定组
标签: python pandas pandas-groupby