📅  最后修改于: 2023-12-03 15:24:43.624000             🧑  作者: Mango
在数据分析中,Pandas 是一个强大的工具,经常用来进行数据处理和分析。有时候需要将 DataFrame 转换为列表以便于处理或与其他库一起使用。本篇介绍几种方法将 Pandas DataFrame 转换为列表。
使用 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 的列和行索引都会被转换为列表。
可以使用 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'
,否则会返回与预期不符的字典。
使用 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 转换为列表的方法。您可以根据实际情况选择最适合您的方法。