📜  如何将 Pandas DataFrame 转换为列表?(1)

📅  最后修改于: 2023-12-03 15:24:43.624000             🧑  作者: Mango

如何将 Pandas DataFrame 转换为列表?

在数据分析中,Pandas 是一个强大的工具,经常用来进行数据处理和分析。有时候需要将 DataFrame 转换为列表以便于处理或与其他库一起使用。本篇介绍几种方法将 Pandas DataFrame 转换为列表。

方法一:使用 values 属性

使用 DataFrame 的 values 属性可以将 DataFrame 转换为数组,进而转换为列表。下面是示例代码:

import pandas as pd

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

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

输出结果:

[['Alice', 25, 'New York'], ['Bob', 30, 'London'], ['Charlie', 35, 'Paris']]

注意:使用 values 属性值时,需要注意 DataFrame 的列和行索引都会被转换为列表。

方法二:使用 to_dict() 方法

可以使用 DataFrame 的 to_dict() 方法将 DataFrame 转换为字典,进而转换为列表。

import pandas as pd

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

# 将 DataFrame 转换为列表
data_list = df.to_dict('records')
print(data_list)

输出结果:

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

注意:使用 to_dict() 方法时,需要指定参数 'records',否则会返回与预期不符的字典。

方法三:使用 iterrows() 方法

使用 DataFrame 的 iterrows() 方法可以遍历 DataFrame 的每一行,以列表的形式返回每一行数据。

import pandas as pd

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

# 将 DataFrame 转换为列表
data_list = []
for index, row in df.iterrows():
    data_list.append(list(row))
print(data_list)

输出结果:

[['Alice', 25, 'New York'], ['Bob', 30, 'London'], ['Charlie', 35, 'Paris']]

注意:使用 iterrows() 方法遍历 DataFrame 的每一行时,需要使用一个列表来保存每一行的数据。

到这里,我们已经介绍了三种将 Pandas DataFrame 转换为列表的方法。您可以根据实际情况选择最适合您的方法。