从多个柜台建立熊猫框架

时间:2019-10-25 16:29:39

标签: python pandas

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

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

示例:

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

我如何获得:

    Name    Name2
a  10       100
b  20       200

1 个答案:

答案 0 :(得分:0)

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

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
相关问题