pandas实现sum()over()、count()over()等窗口函数

有些话、适合烂在心里 提交于 2020-02-10 11:17:17

pandas利用transform实现窗口函数

array =  [
    ['a', 2, 29],
    ['a', 1, 18],
    ['a', 0, 18],
    ['b', 2, 25],
    ['b', 4, 12],
    ['c', 6, 21],
]
data = pd.DataFrame(array, columns=["name", "class", "score"])
# 去重计数:nunique
data['nunique'] = data.groupby('name')['name'].transform('nunique')

# 求和:sum
data['sum'] = data.groupby('name')['score'].('sum')

# 均值:mean
data['mean'] = data.groupby('name')['score'].transform('mean')

# 其余统计函数类似
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!