相关疑难解决方法(0)

如何使用Pandas groupby在组上添加顺序计数器列

我觉得有一种比这更好的方法:

import pandas as pd
df = pd.DataFrame(
    [['A', 'X', 3], ['A', 'X', 5], ['A', 'Y', 7], ['A', 'Y', 1],
     ['B', 'X', 3], ['B', 'X', 1], ['B', 'X', 3], ['B', 'Y', 1],
     ['C', 'X', 7], ['C', 'Y', 4], ['C', 'Y', 1], ['C', 'Y', 6]],
    columns=['c1', 'c2', 'v1'])
def callback(x):
    x['seq'] = range(1, x.shape[0] + 1)
    return x
df = df.groupby(['c1', 'c2']).apply(callback)
print df
Run Code Online (Sandbox Code Playgroud)

为达到这个:

   c1 c2  v1  seq
0   A  X   3    1
1   A  X   5    2
2   A …
Run Code Online (Sandbox Code Playgroud)

python pandas

32
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×1

python ×1