2
问题设置串联其他唯一列的所有可能的列值
假设我给出下面的数据帧。
ID category
223 MMO
223 Game
444 Finance
360 Reading
360 Book
该数据帧具有一个ID
柱和它的相关联的category
。请注意,相同的ID
可以有多个类别。
我的目标是创建一个新列,其中包含给定ID
的所有可能类别的连接。这意味着:
- 移除旧
category
列 - 删除重复
ID
行
的输出是这样的。
ID category
223 MMO_Game
444 Finance
360 Reading_Book
尝试性解决方案
我的思想过程是先创建一个GROUPBY变量将由ID
组category
。
groupby_ID = df['category'].groupby(df['ID'])
现在我可以尝试遍历分组数据并连接字符串。
for ID, category in groupby_appID:
我不知道该怎么继续下去。一些指针将不胜感激!
天才@EdChum!我想我推翻了这个问题,不需要循环。 –
你可以做到这一点并不明显,它很容易开始使用lambda或某种内置方法,但它是一个很好的实现你想要的方式 – EdChum
我看到@EdChum已经回答,我不想要他的影响我的答案。所以我没有看。我在功能上提出了相同的解决方案,但这更优雅。 'df.groupby('ID')。category.apply(lambda x:'_'。join(x))''。很好的答案@EdChum。 – piRSquared