【发布时间】:2018-06-18 09:50:08
【问题描述】:
我有一个包含两列 [Name,In.cl] 的数据框。我想按名称分组,但它基于连续发生。例如考虑下面的DataFrame,
在 DF 下面生成的代码:
df=pd.DataFrame({'Name':['A','B','B','A','A','B','C','C','C','B','C'],'In.Cl':[2,1,5,2,4,2,3,1,8,5,7]})
输入:
In.Cl Name
0 2 A
1 1 B
2 5 B
3 2 A
4 4 A
5 2 B
6 3 C
7 1 C
8 8 C
9 5 B
10 7 C
我想对连续重复的行进行分组。例如组[B](1,2)、[A](3,4)、[C](6,8)等,并在In.cl列中进行求和运算。
预期输出:
In.Cl Name col1 col2
0 2 A A(1) 2
1 1 B B(2) 6
2 5 B B(2) 6
3 2 A A(2) 6
4 4 A A(2) 6
5 2 B B(1) 2
6 3 C C(3) 12
7 1 C C(3) 12
8 8 C C(3) 12
9 5 B B(1) 5
10 7 C C(1) 7
到目前为止,我尝试了重复和 groupby 的组合,它没有按我的预期工作。我想我需要一些 groupby + 连续的东西。但我没有解决这个问题的想法。
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas dataframe pandas-groupby