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对象的方法。根据实际情况选择合适的方法可以方便地将数据传递给其他的函数或模块进行处理。在数据分析和处理过程中,转换数据结构是一个常见的操作,熟练掌握这些方法能够提高工作效率。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签