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对象转换为列表,但在调用方式、参数和返回值上有一些细微的差别,在实际使用中,可以根据需要选择合适的方法进行数据转换。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/478534.html

(0)
未希新媒体运营
上一篇 2024-04-15 12:16
下一篇 2024-04-15 12:18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入