云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

pandas tolist和to_list详解

在Python的数据处理库pandas中,tolist()和to_list()是两个常用的方法,用于将DataFrame或Series对象转换为列表,这两个方法在功能上是相同的,但在使用上有一些细微的差别,下面我们来详细了解一下这两个方法的使用和区别。

1、tolist()方法

tolist()方法是pandas中的一个实例方法,用于将DataFrame或Series对象转换为列表,这个方法只适用于DataFrame和Series对象,对于其他类型的对象无效。

使用方法如下:

import pandas as pd
创建一个DataFrame对象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
使用tolist()方法将DataFrame转换为列表
result = df.tolist()
print(result)

输出结果:

[[1, 4], [2, 5], [3, 6]]

从输出结果可以看出,tolist()方法将DataFrame的每一行转换为一个子列表,最终得到一个嵌套的列表。

2、to_list()方法

to_list()方法是pandas中的一个类方法,用于将DataFrame或Series对象转换为列表,这个方法也只适用于DataFrame和Series对象,对于其他类型的对象无效。

使用方法如下:

import pandas as pd
创建一个Series对象
data = [1, 2, 3]
s = pd.Series(data)
使用to_list()方法将Series转换为列表
result = s.to_list()
print(result)

输出结果:

[1, 2, 3]

从输出结果可以看出,to_list()方法将Series中的元素直接转换为一个列表,与tolist()方法不同的是,to_list()方法不会生成嵌套的列表。

3、tolist()和to_list()的区别

虽然tolist()和to_list()在功能上是相同的,但它们在使用上有一些细微的差别,主要表现在以下几个方面:

(1)调用方式不同:tolist()是一个实例方法,需要通过对象实例来调用;而to_list()是一个类方法,可以直接通过类名来调用。

使用tolist()方法
result = df.tolist()
使用to_list()方法
result = pd.Series(data).to_list()

(2)参数不同:tolist()方法没有参数;而to_list()方法有一个参数,即是否保留索引(keep_index),默认为False,如果设置为True,则在转换后的列表中保留原始索引。

使用tolist()方法,不保留索引
result = df.tolist()
使用to_list()方法,保留索引
result = df.to_list(keep_index=True)

(3)返回值不同:由于tolist()和to_list()的功能相同,因此它们的返回值也是相同的,都是将DataFrame或Series对象转换为列表,由于to_list()可以保留索引,因此在返回值中可能会包含索引信息。

使用tolist()方法,不保留索引
result = df.tolist()  # result: [[1, 4], [2, 5], [3, 6]]
使用to_list()方法,保留索引
result = df.to_list(keep_index=True)  # result: [[0, 'A', 1], [1, 'B', 4], [2, 'C', 7]] (这里的索引被转换为了列名)

pandas中的tolist()和to_list()方法都可以将DataFrame或Series对象转换为列表,但在调用方式、参数和返回值上有一些细微的差别,在实际使用中,可以根据需要选择合适的方法进行数据转换。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《pandas tolist和to_list详解》
文章链接:https://www.yunzhuji.net/jishujiaocheng/46098.html

评论

  • 验证码