将字典项转换为 Pandas 数据框的行,其中键是元组,值是整数

我有一本字典如下:


d = {("Sam","Scotland","23") : 25,

     ("Oli","England","23") : 28,

     ("Ethan","Wales","18") : 19}

我想将它转换成一个如下所示的 Pandas 数据框:


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

我很欣赏通过循环遍历元组的每个项目和每个元素是可能的,但是有没有更干净的方法来做到这一点?


青春有我
浏览 187回答 2
2回答

Qyouu

您可以直接使用pd.DataFrame.from_dict字典。这将根据您的输入字典键创建一个键。您可以将其转换为,然后使用:tupleMultiIndexreset_indexcols = ['Name', 'Country', 'Age', 'Count']df = pd.DataFrame.from_dict(d, orient='index', columns=cols[-1])df.index = pd.MultiIndex.from_tuples(df.index, names=cols[:-1])df = df.reset_index()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python