与sql比较-有人能给我解释一下这个代码吗

7gcisfzg  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(273)
(tips[tips['tip'] < 2]\
  .assign(rnk_min=tips.groupby(['sex'])\ 
  ['tip'].rank(method='min'))\
  .query('rnk_min < 3')\
  .sort_values(['sex', 'rnk_min']))
lh80um4z

lh80um4z1#

显然有些事情是清楚的
选择小费<2的人
创建列 assign() 排名的人,然后进一步过滤那些排名<3
一些生成数据集的代码,这样你就可以在jupyter笔记本上进行实验了

sex = ["Male","Female"]
s = ['Living_With_Partner','Divorced','Separated','Married','Missing','Never_Married','Widowed']
tips = pd.DataFrame([[random.randint(15,80), sex[random.randint(0,1)], s[random.randint(0,len(s)-1)], 
                    random.randint(0,50)] for r in range(200)],
            columns=["age","sex","status","tip"])

tips
(tips[tips['tip'] < 2]\
  .assign(rnk_min=tips.groupby(['sex'])\
  ['tip'].rank(method='min'))\
  .query('rnk_min < 3')\
  .sort_values(['sex', 'rnk_min']))

相关问题