将字典项转换为键为元组且值为整数的pandas数据框的行

1995年

我有以下字典:

d = {("Sam","Scotland","23") : 25,
     ("Oli","England","23") : 28,
     ("Ethan","Wales","18") : 19}

我想将其转换为如下所示的熊猫数据框:

Name    Country    Age    Count
Sam     Scotland    23     25
Oli     England     23     28
Ethan   Wales       18     19

我试图这样做:

df = pd.DataFrame.from_items(d.items(),orient="index",
                              columns=["Name","Country","Age","Count"])

但是我得到这个错误:

ValueError: The value in each (key, value) pair must be an array, Series, or dict

我很欣赏通过遍历元组的每个项目和每个元素都是可能的,但是有没有更清洁的方法呢?

丹妮·梅塞乔

您可以通过将键和值连接在一起来手动构建DataFrame的行,例如:

import pandas as pd

d = {("Sam", "Scotland", "23"): 25,
     ("Oli", "England", "23"): 28,
     ("Ethan", "Wales", "18"): 19}

df = pd.DataFrame([k + (v,) for k, v in d.items()], columns=['name', 'country', 'age', 'count'])
print(df)

输出量

    name   country age  count
0  Ethan     Wales  18     19
1    Sam  Scotland  23     25
2    Oli   England  23     28

或作为替代:

import pandas as pd

d = {("Sam", "Scotland", "23"): 25,
     ("Oli", "England", "23"): 28,
     ("Ethan", "Wales", "18"): 19}

df = pd.DataFrame(
    [{"name": name, "country": country, "age": age, "count": value} for (name, country, age), value in d.items()])

print(df)

输出量

  age  count   country   name
0  23     28   England    Oli
1  23     25  Scotland    Sam
2  18     19     Wales  Ethan

想法是将键值对转换成字典列表,然后将其传递给DataFrame

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当键的值为列表列表时,如何将字典转换为数据框?

将 Pandas 数据框转换为以第一列为键的字典

如何将列表转换为以元组为键的字典

以元组为键将列表转换为字典

使用三元图元组键将Pandas数据框转换为字典

从键为元组的字典创建数据框

将列表中的元组字典转换为 Pandas 数据框

将以元组为键的字典转换为包含键和值的元组

使用值作为键将数据框转换为字典

使用多个键将pandas数据框转换为字典

将字典转换为数据框(以重复的键作为行)

将具有一个键和多个值的字典转换为 Pandas 数据框

高效地将字典的键和值转换为pandas数据框中的列

将字典转换为数据框,然后将列融化/堆叠为行

如何以组合元组为键将字典列表转换为多个字典?

熊猫:将字典转换为以键和值为列的数据框

如何将数据框(存储为值)的字典转换为一个CSV?

如何以表格式打印键为元组且值为元组的字典?

将键作为行名并将值中的字典作为列将嵌套字典转换为数据框?

将键作为行名并将值中的字典作为列将嵌套字典转换为数据框?

如何将带有元组键的python字典转换为pandas多索引数据框?

如何将包含元组列表的字典中的字典转换为pandas数据框

如何将多键字典转换为每个键和值都有自己列的pandas数据框?

从以元组为键的字典中获取熊猫数据框

将Pandas数据框转换为字典

将字典转换为Pandas数据框

Python将字典元组列表转换为数据框

将数据框转换为元组列表字典

将pandas数据框中的行中的元组列表转换为一个元组列表