Python 将嵌套的字典列表转换成Pandas数据框架

  • Post category:Python

当我们需要处理的数据来自于嵌套的字典列表,我们可以使用Python的Pandas库将其转换成数据框。下面是一种完整的方法。

首先,我们创建一个嵌套的字典列表,作为示例数据。

data = [
    {
        'name': 'John',
        'age': 25,
        'hobbies': ['swimming', 'reading']
    },
    {
        'name': 'Alice',
        'age': 30,
        'hobbies': ['dancing', 'traveling']
    },
    {
        'name': 'Mark',
        'age': 35,
        'hobbies': ['hiking', 'photography']
    }
]

接下来,我们将使用Pandas库将其转换成数据框。首先,我们需要使用Pandas的DataFrame方法创建一个空的数据框。然后,我们可以使用循环遍历嵌套字典列表中的每个字典,并将其添加到数据框中。为了保持数据框的列的顺序,我们可以显式地指定列的顺序。

import pandas as pd

df = pd.DataFrame(columns=['name', 'age', 'hobbies'])

for d in data:
    name = d['name']
    age = d['age']
    hobbies = ', '.join(d['hobbies'])
    df = df.append({'name': name, 'age': age, 'hobbies': hobbies}, ignore_index=True)

在这个循环中,我们首先从当前字典中提取名称和年龄。然后,我们将hobbies列表中的所有元素连接成一个字符串。最后,我们将新行添加到数据框中。注意,我们使用ignore_index=True来确保每个新行都有一个唯一的索引。

现在我们已经将数据转换成数据框,我们可以对其进行各种Pandas操作,如筛选、排序、分组等。

我们可以打印数据框来查看结果。

print(df)

输出的结果如下所示:

    name age                     hobbies
0   John  25             swimming, reading
1  Alice  30           dancing, traveling
2   Mark  35        hiking, photography

这是一个基本的方法,可以将嵌套的字典列表转换成Pandas数据框架。