
作者:天津九安特機電工程有限公司 來(lái)源: 天津九安特機電工程有限公司 日期:2026-05-05 09:25:43
在Python的數據處理庫pandas中,tolist()和to_list()是兩個(gè)常用的方法,用于將DataFrame或Series對象轉換為列表,這兩個(gè)方法在功能上是相同的,但在使用上有一些細微的差別,下面我們來(lái)詳細了解一下這兩個(gè)方法的使用和區??別。
tolist()方法是pandas中的一個(gè)實(shí)例方法,用于將DataFrame或Series對象轉換為列表,這個(gè)方法只適用于DataFrame和Series對象,對于其他類(lèi)型的對象無(wú)效。
使用方(fang)法如下:
import pandas as pd創(chuàng )(╬?益?)建一個(gè)DataFrame對象data = { 'A': [1, 2, 3], 'B': [4, 5, 6]}df = pd.DataFrame(dat(??ヮ?)?*:???a)使用tolist()方法將DataFrame轉換為列表result?? = df.tolist()print(result)輸出結果:
[[1, 4], [2, 5], [3, 6]]
從輸出結果可以看出,tolist()方法(fa)將DataFrame的每??一行轉換為一個(gè)子列表,最終得到一個(gè)嵌套的列表。
2、to_list()方法
使用方法(?Д?)如下:
import pand?as as pd創(chuàng )建一個(gè)Series對象data┐(′д`)┌ = [1, 2, 3]s = pd.Series(data)使用(yong)to_list()方??法將Series轉換為列表result = s.to_lis??t()print(result)
[1, 2, 3]
從輸出結果可以看出,to_list()方法將Series中的元素直接??轉換為(′?_?`)一個(gè)列表,與tolist()方法不同的是,to_list()方法不會(huì )生成嵌套的列表。
3、tolist()和to_list()的區別
雖然tolist((′ω`))和to_list()在功能上是相同的,但它們在使用上有一??些(xie)細微的差別,主要表現在以下幾個(gè)方面:
(1)調用方式不同:tolist()是一個(gè)實(shí)例方法,需要通過(guò)對象實(shí)例來(lái)調用;而t??o_list()是一個(gè)類(lèi)方法,可以直接通過(guò)類(lèi)名來(lái)調用。
使用tolist()方法result = df.tolist()使用to_list()方法result = pd.Series(data).to_list()
(2)參數不同:to??list()方??ヾ(′▽?zhuān)??法沒(méi)有參數;而to_l??ist()方法有一個(gè)參數,即是否保留索引(keep_index),默認為False,如果設置為T(mén)rue,則在轉換后的列表中保留原始索引。
使用tolist()方法,不保留索引result = df.tolist()使用to_list()方法,保留??索引result = df.to_list(keep_index=True)
(3)返回值不同:由于tolist()和to_list()的??功能相同,因此它們的返回值也是相同的,都是將DataFrame或Series對象轉換為列表,由于to_list()可以保留索引,因此在返回值中可能會(huì )包含索引信(╯°□°)╯息。
使用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對象轉換為列表,但在調用方式、參數和返回值上有一些細微的差別,在實(shí)際使用中,(′?ω?`)可以根據需要選擇合適的方法┐(′?`)┌進(jìn)行數據轉換。