微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将结果分组到列表字典

如何解决将结果分组到列表字典

你可以groupbyColumn1再取Column3apply(list)和呼叫to_dict

In [81]: df.groupby('Column1')['Column3'].apply(list).to_dict()
Out[81]: {0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}

或者,做

In [433]: {k: list(v) for k, v in df.groupby('Column1')['Column3']}
Out[433]: {0: [1], 1: [2, 3, 5], 2: [1, 2], 3: [4, 5], 4: [1], 5: [1, 2, 3]}

解决方法

我有一个看起来像这样的Excel工作表:

Column1 Column2 Column3
0       23      1
1       5       2
1       2       3
1       19      5
2       56      1
2       22      2
3       2       4
3       14      5
4       59      1
5       44      1
5       1       2
5       87      3

我正在寻找提取数据,将其按列1分组,并将其添加到字典中,使其看起来像这样:

{0: [1],1: [2,3,5],2: [1,2],3: [4,4: [1],5: [1,2,3]}

到目前为止,这是我的代码

excel = pandas.read_excel(r"e:\test_data.xlsx",sheetname='mySheet',parse_cols'A,C')
myTable = excel.groupby("Column1").groups
print myTable

但是,我的输出看起来像这样:

{0: [0L],1: [1L,2L,3L],2: [4L,5L],3: [6L,7L],4: [8L],5: [9L,10L,11L]}

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。