在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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复