【问题标题】:Pandas: Convert dataframe to dict of lists熊猫:将数据框转换为列表的字典
【发布时间】:2016-09-06 04:59:41
【问题描述】:

我有一个这样的数据框:

col1, col2
A      0
A      1
B      2
C      3

我想得到这个:

{ A: [0,1], B: [2], C: [3] }

我试过了:

df.set_index('col1')['col2'].to_dict()

但这并不完全正确。我遇到的第一个问题是重复“A”,我最终只得到 A:1(0 被覆盖)。怎么修?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以在 groupby 上使用字典推导。

    >>> {idx: group['col2'].tolist() 
         for idx, group in df.groupby('col1')}
    {'A': [0, 1], 'B': [2], 'C': [3]}
    

    【讨论】:

      【解决方案2】:

      解决方案

      df.groupby('col1')['col2'].apply(lambda x: x.tolist()).to_dict()
      
      {'A': [0, 1], 'B': [2], 'C': [3]}
      

      【讨论】:

        猜你喜欢
        • 2017-12-12
        • 2018-11-25
        • 1970-01-01
        • 2017-10-02
        • 2019-07-18
        • 2018-07-14
        • 2019-05-07
        • 2021-09-07
        相关资源
        最近更新 更多