使用Groupby在新列中列出数据列

2024-05-28 09:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要根据groupby结果添加新列。以下面的数据帧为例。你知道吗

 ID      City      
 234x    Lima
 342x    Rica
 234x    Rio
 333x    NYC
 333x    SF

我正准备用分组计算:

df_GroupBy = pd.DataFrame({'count':df.groupby([ "ID"]).size()}).reset_index()

这会产生一个输出:

 ID       Count
234x       2
342x       1
333x       2

我现在要做的是得到以下输出:

 ID       City     City_2
234x       Lima     Rio
342x       Rica      
333x       NYC      SF

我已经研究了Transformmap,但没有太大的成功。谢谢你的帮助。你知道吗


Tags: 数据idcitydataframedfsizecountsf
1条回答
网友
1楼 · 发布于 2024-05-28 09:17:07

你可以的

cities = df.groupby('ID')['City'].apply(lambda x: pd.Series([city for city in x])).unstack()

         0    1
ID             
234x  Lima  Rio
333x   NYC   SF
342x  Rica  NaN

相关问题 更多 >