pandas做分组条件选择

85 阅读1分钟

pandas做分组条件选择

如:选择各个组工资最少的人

image.png

data = {'group':['a','a','a','b','b','c','c','c'],
'name':['张三','李四','王五','赵六','花花','月月','托尼','阿呆'],
'salary':['2000','1500','1800','2500','2600','1000','2000','3000'],
'age':['20','21','22','20','21','22','20','21']}

df = pd.DataFrame(data)
df.groupby(by=['group']).min()

image.png

age 是对应不上的

换个思路,增加一列记录排序 rank

df['rank']=df['salary'].groupby(df['group']).rank()
df

image.png

df[df['rank']==1]

image.png

补充:Pandas.DataFrame实现分组、排序并且为分组插入排名