pandas 集团由两列然后得到字典的价值观 [英] Pandas groupby two columns then get dict for values

查看:92
本文介绍了 pandas 集团由两列然后得到字典的价值观的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个熊猫数据框:

I have a pandas dataframe:

banned_titles = 
TitleId  RelatedTitleId
0    89989           32598
1    89989         3085083
2    95281         3085083

当我将groupby应用于

when I apply groupby as following

In [84]: banned_titles.groupby('TitleId').groups
Out[84]: {89989: [0, 1], 95281: [2]}

这非常接近,但不是我想要的。

This is so close but not I want.

我想要的是:

What I want is:

{89989: [32598, 3085083], 95281: [3085083]}

有没有办法做到这一点?

Is there a way to do this?

推荐答案

试试这个:

try this:

In [8]: x.groupby('TitleId')['RelatedTitleId'].apply(lambda x: x.tolist()).to_dict()
Out[8]: {89989: [32598, 3085083], 95281: [3085083]}

或作为系列列表:

or as series of lists:

In [10]: x.groupby('TitleId')['RelatedTitleId'].apply(lambda x: x.tolist())
Out[10]:
TitleId
89989    [32598, 3085083]
95281           [3085083]
Name: RelatedTitleId, dtype: object

data:

In [9]: x
Out[9]:
   TitleId  RelatedTitleId
0    89989           32598
1    89989         3085083
2    95281         3085083

这篇关于 pandas 集团由两列然后得到字典的价值观的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆