如何将 pandas DataFrame 转换为 list

如何将 pandas DataFrame 转换为 list

参考:pandas dataframe to list

在数据处理和分析中,Pandas 是一个非常强大的 Python 数据处理库。DataFrame 是 Pandas 中最常用的数据结构之一,它是一个二维的、表格型的数据结构,非常适合处理结构化数据。在实际应用中,有时我们需要将 DataFrame 的数据转换成列表(list)形式,以便进行某些特定的操作或者与其他 Python 数据结构进行交互。本文将详细介绍如何将 pandas DataFrame 转换为 list,并提供多个示例代码。

1. 将整个 DataFrame 转换为列表

示例代码 1: 使用 values.tolist() 方法

import pandas as pd

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

# 将 DataFrame 转换为列表
list_data = df.values.tolist()
print(list_data)

Output:

如何将 pandas DataFrame 转换为 list

示例代码 2: 使用 to_numpy() 后转为列表

import pandas as pd

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

# 将 DataFrame 转换为 numpy 数组后转为列表
list_data = df.to_numpy().tolist()
print(list_data)

Output:

如何将 pandas DataFrame 转换为 list

2. 将 DataFrame 的某一列转换为列表

示例代码 3: 直接使用列名访问后转列表

import pandas as pd

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

# 将 Name 列转换为列表
name_list = df['Name'].tolist()
print(name_list)

Output:

如何将 pandas DataFrame 转换为 list

示例代码 4: 使用 iloc 定位后转列表

import pandas as pd

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

# 使用 iloc 获取第一列数据后转为列表
name_list = df.iloc[:, 0].tolist()
print(name_list)

Output:

如何将 pandas DataFrame 转换为 list

3. 将 DataFrame 的多列转换为嵌套列表

示例代码 5: 选择多列后使用 values.tolist()

import pandas as pd

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

# 选择多列并转换为嵌套列表
selected_columns_list = df[['Name', 'City']].values.tolist()
print(selected_columns_list)

Output:

如何将 pandas DataFrame 转换为 list

4. 将 DataFrame 的行转换为字典列表

示例代码 6: 使用 to_dict('records')

import pandas as pd

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

# 将 DataFrame 的每一行转换为字典,然后整体作为列表
dict_list = df.to_dict('records')
print(dict_list)

Output:

如何将 pandas DataFrame 转换为 list

5. 使用 apply 方法自定义转换

示例代码 7: 使用 apply 方法将每行转换为自定义格式的列表

import pandas as pd

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

# 使用 apply 方法自定义每行的列表格式
custom_list = df.apply(lambda row: [row['Name'], row['Age']], axis=1).tolist()
print(custom_list)

Output:

如何将 pandas DataFrame 转换为 list

6. 转换时包含条件筛选

示例代码 8: 转换特定条件下的数据为列表

import pandas as pd

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

# 条件筛选后转换为列表
age_above_30 = df[df['Age'] > 30]['Name'].tolist()
print(age_above_30)

Output:

如何将 pandas DataFrame 转换为 list

7. 结合 groupby 使用

示例代码 9: 对分组数据进行列表转换

import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 30],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Los Angeles']}
df = pd.DataFrame(data)

# 对 City 进行分组,然后将 Name 列转换为列表
grouped_list = df.groupby('City')['Name'].apply(list)
print(grouped_list)

Output:

如何将 pandas DataFrame 转换为 list

8. 结合时间序列数据

示例代码 10: 时间序列数据的列表转换

import pandas as pd

# 创建一个示例 DataFrame
data = {'Date': pd.date_range(start='2021-01-01', periods=4, freq='D'),
        'Value': [100, 200, 300, 400]}
df = pd.DataFrame(data)

# 将日期和值转换为列表
date_value_list = df[['Date', 'Value']].values.tolist()
print(date_value_list)

Output:

如何将 pandas DataFrame 转换为 list

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程