[英]ungrouping a grouped pandas dataframe by multiple columns
I have a pandas_dataframe
like this.我有一个这样的
pandas_dataframe
。
df=pd.DataFrame({'name':['A','A','B','C','B','B','C','C','C','A'],'ids':['M_1','M_1','K_1','K_1','K_1','K_1','G_1','G_1','G_1','K_1'],
'no' :[1,2,1,2,3,1,2,3,4,1],'colors':['Red','black','green','blue','yellow','white','rose','pink','maroon','lightblue']})
The data frame after sorted by name
and ids
looks like this.按
name
和ids
排序后的数据框如下所示。
After grouping by name and ids, it looks like this.
按名称和ID分组后,它看起来像这样。
I want the final data frame with a new column and ungrouped.
我想要带有新列且未分组的最终数据框。
I am new to this forum and yet to learn how to paste the outputs obtained from jupyter notebook.
我是这个论坛的新手,还没有学习如何粘贴从 jupyter notebook 获得的输出。
Try with transform
尝试
transform
df['max_no'] = df.groupby(['name','ids'])['no'].transform('max')
df
Out[147]:
name ids no colors max_no
0 A M_1 1 Red 2
1 A M_1 2 black 2
2 B K_1 1 green 3
3 C K_1 2 blue 2
4 B K_1 3 yellow 3
5 B K_1 1 white 3
6 C G_1 2 rose 4
7 C G_1 3 pink 4
8 C G_1 4 maroon 4
9 A K_1 1 lightblue 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.