从多个计数器构建框架

2024-03-29 09:50:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

示例:

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

如何获得:

    Name    Name2
a  10       100
b  20       200

Tags: 数据nameid示例counter计数器标签词典
1条回答
网友
1楼 · 发布于 2024-03-29 09:50:17

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

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

相关问题 更多 >