【问题标题】:Building Pandas Frame from Multiple Counters从多个计数器构建 Pandas 数据框
【发布时间】:2019-10-27 04:53:04
【问题描述】:

我有计数器字典。计数器都具有相同的“键”,但它们具有不同的值(即不同的计数)。如何有效地将所有这些计数器转换为 pandas 数据帧,使数据帧的每一行代表一个键,每列代表一个计数器,单元格包含该键的计数值?

注意:每个计数器都与一个 id 相关联,我想将其保留为列标签

例子:

l = {'Name' : Counter({'a': 10, 'b':20})}, {'Name2' : Counter({'a':100, 'b':200})}

我如何获得:

    Name    Name2
a  10       100
b  20       200

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以使用这种方法解决您的问题:

    import pandas as pd
    from collections import Counter
    
    l = {'Name' : Counter({'a': 10, 'b':20})}, {'Name2' : Counter({'a':100, 'b':200})}
    
    columns, data = zip(*[(key, value) for elem in l for key, value in elem.items()])
    df = pd.DataFrame(data=list(data)).T.set_axis(columns, axis=1, inplace=False)
    
    print(df)
    #    Name  Name2
    # a    10    100
    # b    20    200
    

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多