Python DataFrame 转 List 字典

引言

在数据分析和数据科学中,Pandas 是一个常用的 Python 库,它提供了一个快速、灵活和方便的数据结构,叫做 DataFrame。DataFrame 是一个二维表格,类似于电子表格或 SQL 表。它可以存储和操作大量的数据,同时提供了许多有用的函数和方法来处理数据。

在某些情况下,我们可能需要将 DataFrame 转换为 List 字典的形式,以便于进一步处理和使用。本文将向您展示如何使用 Python 将 DataFrame 转换为 List 字典,并提供了一些实际的代码示例。

DataFrame 和 List 字典的区别

在开始之前,我们先来了解一下 DataFrame 和 List 字典的区别。

DataFrame

DataFrame 是 Pandas 库中的一个核心数据结构,它类似于一个二维表格或电子表格,可用于存储和操作大量的数据。DataFrame 包含了多个列,每一列都有一个名称和一个数据类型。可以将 DataFrame 看作是由多个 Series 组成的字典。

List 字典

List 字典是 Python 中的一种数据结构,它是一个有序的、可变的、可重复的集合。List 字典由一对花括号 {} 包裹,其中每个元素由一个键和一个值组成,键和值之间用冒号 : 分隔。每个键值对之间用逗号 , 分隔。List 字典中的元素是无序的。

DataFrame 和 List 字典之间的区别主要体现在以下几个方面:

  • 数据结构:DataFrame 是一个二维表格,而 List 字典是一个有序的集合。
  • 访问方式:DataFrame 可以通过列名和行索引来访问数据,而 List 字典可以通过键来访问数据。
  • 索引方式:DataFrame 有默认的行索引和列索引,而 List 字典没有索引。

将 DataFrame 转换为 List 字典

要将 DataFrame 转换为 List 字典,我们需要使用 Pandas 库中的 to_dict() 方法。to_dict() 方法可以将 DataFrame 转换为字典形式,其中每一列的数据将成为字典的一个键值对。我们可以通过指定 orient 参数来控制转换的方式,默认为 dict

下面是一个简单的示例,展示了如何将 DataFrame 转换为 List 字典的方式:

import pandas as pd

# 创建一个 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)

# 将 DataFrame 转换为 List 字典
list_dict = df.to_dict(orient='list')

print(list_dict)

运行上述代码,将输出如下结果:

{'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'London', 'Paris']}

从输出结果可以看出,DataFrame 中的每一列都被转换为 List 字典的一个键值对,其中键是列名,值是该列的数据。

实际应用场景

在实际的数据分析和数据科学项目中,将 DataFrame 转换为 List 字典是一个常见的操作,因为它可以方便地处理和使用数据。下面我们将通过一个示例来演示如何应用这种转换。

假设我们有一个销售订单的 DataFrame,包含了订单编号、产品名称和销售数量等信息。我们希望将该 DataFrame 转换为 List 字典的形式,以便于进行统计和分析。

首先,我们需要导入 Pandas 库,并读取订单数据到 DataFrame 中:

import pandas as pd

# 读取订单数据到 DataFrame
df = pd.read_csv('orders.csv')

# 打印 DataFrame 的前几行
print(df.head())

假设订单数据的结构如下所示:

Order ID Product Quantity
1 Apple