Pandas把dataframe或series转换成list的方法

1. 介绍

在使用Pandas进行数据分析时,经常需要将DataFrame或Series对象转换为Python的list对象。这样可以方便地将数据传递给其他的函数或模块进行进一步的处理。本文将介绍几种常见的方法,可以将DataFrame或Series对象转换为list。

2. 将DataFrame转换为list

2.1 使用values属性

使用DataFrame的values属性可以返回一个二维的numpy数组,通过将numpy数组转换为Python的list,即可将DataFrame转换为list。

import pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'John', 'Mary'],

'Age': [25, 30, 28],

'City': ['New York', 'London', 'Paris']}

df = pd.DataFrame(data)

# 将DataFrame转换为list

df_list = df.values.tolist()

print(df_list)

运行以上代码,输出结果为:

[['Tom', 25, 'New York'], ['John', 30, 'London'], ['Mary', 28, 'Paris']]

2.2 使用to_dict方法

使用DataFrame的to_dict方法可以将DataFrame转换为一个字典对象,通过遍历字典对象的值,即可将DataFrame转换为list。

df_dict = df.to_dict(orient='records')

df_list = [list(d.values()) for d in df_dict]

print(df_list)

运行以上代码,输出结果为:

[['Tom', 25, 'New York'], ['John', 30, 'London'], ['Mary', 28, 'Paris']]

2.3 使用iterrows方法

使用DataFrame的iterrows方法可以遍历DataFrame的每一行,然后将每一行转换为list,并存储在一个列表中。

df_list = []

for index, row in df.iterrows():

df_list.append(list(row))

print(df_list)

运行以上代码,输出结果为:

[['Tom', 25, 'New York'], ['John', 30, 'London'], ['Mary', 28, 'Paris']]

3. 将Series转换为list

3.1 使用tolist方法

对于Series对象,可以直接使用tolist方法将其转换为Python的list。

import pandas as pd

# 创建一个Series

s = pd.Series([1, 2, 3, 4, 5])

# 将Series转换为list

s_list = s.tolist()

print(s_list)

运行以上代码,输出结果为:

[1, 2, 3, 4, 5]

3.2 使用values属性

与DataFrame类似,Series对象也有values属性,通过该属性可以将Series转换为numpy数组,然后通过将numpy数组转换为Python的list,即可将Series转换为list。

s_array = s.values

s_list = s_array.tolist()

print(s_list)

运行以上代码,输出结果为:

[1, 2, 3, 4, 5]

4. 总结

本文介绍了几种将Pandas的DataFrame或Series对象转换为Python的list对象的方法。根据实际情况选择合适的方法可以方便地将数据传递给其他的函数或模块进行处理。在数据分析和处理过程中,转换数据结构是一个常见的操作,熟练掌握这些方法能够提高工作效率。

后端开发标签