我有一张这样的桌子:
name = ['a','a','a','a','a','b','b','b','b']
fillrate = [0.1, 0.1, 0.2, 0.1, 0.1, 0.3, 0.3, 0.3, 0.4]
df = pd.DataFrame(name)
df.columns = ['name']
df['fillrate'] = fillrate
我想创建如下列:
df['count'] = [1,2,1,2,3,1,2,3,1]
说明:“计数”列在有新名称或填充率增加时重置为1;否则,“count”列等于最后一个值加1
使用循环很容易做到,但我想避免这种情况,因为数据量很大。有没有别的办法呢
IIUC让我们将
shift
与diff
结合起来,并使用cumsum
创建子组cumcount
相关问题 更多 >
编程相关推荐