V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  crsroy  ›  全部回复第 1 页 / 共 1 页
回复总数  1
import pandas as pd

df = pd.DataFrame({'姓名':['甲','乙','丙','丁','戊','己','庚'], '成绩':range(70,0,-10), '性别':['男','男','男','女','女','女','女'], 'd':[0,1,2,0,1,2,3] })

#假设原数据没有'd'列
df2 = df[['姓名','成绩','性别']]
#直接用性别分组可以得到分组统计
grouped = df2.groupby('性别')
print(grouped.mean())
#使用 rank 函数得到性别分组排号
df2['d'] = df2['成绩'].groupby(df2['性别']).rank(ascending = 0)
print(df2)
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2625 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.