gpt4 book ai didi

python - 从包含字典的单个变量中创建 Pandas 的数据框

转载 作者:行者123 更新时间:2023-11-28 16:27:03 25 4
gpt4 key购买 nike

我正在尝试从此函数获取数据帧:

def total_sum(self):
c = defaultdict(int)
for slot in self.data:
c[slot['accountLabelType']] += slot['totalPrice']
return(c)

它返回一个变量,该变量包含具有键值结构的整个字典。

当我尝试像这样创建 Pandas 的数据框时:

def source_revenue(self):
# df = pandas.DataFrame(self.data, columns=[
# 'Source Of Business', 'Revenue'])
df = pandas.DataFrame({'CASH' : self.data})
print(df)

我明白了:

                                  CASH
BYD - Other 500.0
BYD - Retail 1584.0

但我希望它像:

SOURCE                            CASH
BYD - Other 500.0
BYD - Retail 1584.0

但我做不到 df = pandas.DataFrame({'SOURCE : self.data[0]'CASH' : self.data[1})

因为它是一本字典,我该如何正确提取这两个值以便创建数据框?

示例输出字典:

defaultdict(<class 'int'>, {'Spa': 3052, 'GS - Retail': 386, 'SCH Beverage - A La Carte': 119, 'BYD - Retail': 1584, 'BYD - Transport': 42498, 'BYD - Other': 500, 'BYD Food - Catering Banquet': 53796, 'Orchard Retail': 130, 'SCH - Retail': 375.4, 'SCH - Transport': 888, 'BYD Food - A La Carte 瓦厂食品-零点': 68365, 'XLM Beverage - A La Carte': 38, 'GS Food - A La Carte': 48, 'BYD Rooms 瓦厂房间': 5148, 'BYD Beverage - A La Carte': 39401.5, 'SCH - Food - A La Carte': 96})

最佳答案

您必须将字典转换为两个数组,一个用于键,另一个用于值:

data = {
'test1': 10,
'test2': 20,
'testx': 40,
'foo': 50,
}

items = data.items()
pd.DataFrame({'keys': [i[0] for i in items], 'values': [i[1] for i in items]})

分配变量 items 很重要,因为顺序可能不确定。

关于python - 从包含字典的单个变量中创建 Pandas 的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35797112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com