如何将 Pandas DataFrame 转换为列表?

pythonserver side programmingprogramming

将 Pandas DataFrame 转换为列表是使用 Python 进行数据分析和操作的常见任务。Pandas 库提供了强大的数据结构和功能来处理表格数据,但在某些情况下,需要将 DataFrame 转换为列表格式。通过将 DataFrame 转换为列表,我们可以灵活地执行各种操作或使用其他 Python 数据结构。

在本文中,我们将探讨将 Pandas DataFrame 转换为列表的不同方法。我们将讨论简单的方法,例如使用 values 属性或 to_dict() 方法,以及使用列表推导。通过提供详细的步骤和示例,本文将为您提供将 DataFrame 转换为列表的知识。

方法 1:使用 values 属性

将 Pandas DataFrame 转换为列表的真实方法之一是利用 values 属性。通过访问 values 属性,我们可以检索 DataFrame 的底层 Numpy 数组表示。随后,我们可以使用 tolist() 方法将此数组转换为列表。此方法提供了一种方便的方式来获取 DataFrame 的列表表示,从而便于进一步的数据操作和分析。

示例

这是一个输入示例:

import pandas as pd

# 创建 DataFrame
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})

# 使用 'values' 属性将 DataFrame 转换为列表
df_list = df.values.tolist()

# 输出转换后的列表
print(df_list)

输出

[[1, 'A'], [2, 'B'], [3, 'C']]

方法 2:使用 to_dict() 方法

Pandas 提供了一种方便的方法,称为 to_dict(),它允许我们将 DataFrame 转换为字典。默认情况下,此方法将 DataFrame 转换为字典,其中列名作为映射到其各自值的键。但是,要获得 DataFrame 的列表表示,我们可以使用 values() 方法检索字典值。

示例

这是一个输入示例:

import pandas as pd

# 创建 DataFrame
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})

# 将 DataFrame 转换为字典
df_dict = df.to_dict()

# 将字典值转换为列表
df_list = list(df_dict.values())

# 输出转换后的列表
print(df_list)

输出

[{0: 1, 1: 2, 2: 3}, {0: 'A', 1: 'B', 2: 'C'}]

方法 3:使用列表推导式

列表推导式是将 Pandas DataFrame 转换为列表的另一种方法。它允许我们遍历 DataFrame 的行或列,并轻松地将值附加到新列表中。这种简洁高效的方法简化了从 DataFrame 中提取数据的过程,使我们能够轻松构建列表表示。列表推导提供了灵活性,允许自定义转换过程以满足特定要求,使其成为 DataFrame 到列表转换的多功能技术。

示例

这是一个输入示例:

import pandas as pd

# 创建 DataFrame
df = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})

# 使用列表推导将 DataFrame 转换为列表
df_list = [list(row) for row in df.values]

# 输出转换后的列表
print(df_list)

输出

[[1, 'A'], [2, 'B'], [3, 'C']]

结论

总之,将 Pandas DataFrame 转换为列表可增强您的数据分析能力和 Python 能力。我们探索了各种方法,例如使用 values 属性提取底层 Numpy 数组并使用 tolist() 将其转换为列表。to_dict() 方法将 DataFrame 转换为字典,然后可以将其转换为列表。列表推导提供了一种简洁高效的方法,可以遍历行或列来构建列表表示。将 DataFrame 转换为列表为分析、操作和与其他数据结构的集成提供了可能性。掌握这些技术使您能够在 Python 中高效地处理数据。


相关文章