掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
在Python的數(shù)據(jù)處理庫(kù)pandas中,tolist()和to_list()是兩個(gè)常用的方法,用于將DataFrame或Series對(duì)象轉(zhuǎn)換為列表,這兩個(gè)方法在功能上是相同的,但在使用上有一些細(xì)微的差別,下面我們來(lái)詳細(xì)了解一下這兩個(gè)方法的使用和區(qū)別。

1、tolist()方法
tolist()方法是pandas中的一個(gè)實(shí)例方法,用于將DataFrame或Series對(duì)象轉(zhuǎn)換為列表,這個(gè)方法只適用于DataFrame和Series對(duì)象,對(duì)于其他類(lèi)型的對(duì)象無(wú)效。
使用方法如下:
import pandas as pd
創(chuàng)建一個(gè)DataFrame對(duì)象
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
使用tolist()方法將DataFrame轉(zhuǎn)換為列表
result = df.tolist()
print(result)
輸出結(jié)果:
[[1, 4], [2, 5], [3, 6]]
從輸出結(jié)果可以看出,tolist()方法將DataFrame的每一行轉(zhuǎn)換為一個(gè)子列表,最終得到一個(gè)嵌套的列表。
2、to_list()方法
to_list()方法是pandas中的一個(gè)類(lèi)方法,用于將DataFrame或Series對(duì)象轉(zhuǎn)換為列表,這個(gè)方法也只適用于DataFrame和Series對(duì)象,對(duì)于其他類(lèi)型的對(duì)象無(wú)效。
使用方法如下:
import pandas as pd 創(chuàng)建一個(gè)Series對(duì)象 data = [1, 2, 3] s = pd.Series(data) 使用to_list()方法將Series轉(zhuǎn)換為列表 result = s.to_list() print(result)
輸出結(jié)果:
[1, 2, 3]
從輸出結(jié)果可以看出,to_list()方法將Series中的元素直接轉(zhuǎn)換為一個(gè)列表,與tolist()方法不同的是,to_list()方法不會(huì)生成嵌套的列表。
3、tolist()和to_list()的區(qū)別
雖然tolist()和to_list()在功能上是相同的,但它們?cè)谑褂蒙嫌幸恍┘?xì)微的差別,主要表現(xiàn)在以下幾個(gè)方面:
(1)調(diào)用方式不同:tolist()是一個(gè)實(shí)例方法,需要通過(guò)對(duì)象實(shí)例來(lái)調(diào)用;而to_list()是一個(gè)類(lèi)方法,可以直接通過(guò)類(lèi)名來(lái)調(diào)用。
使用tolist()方法 result = df.tolist() 使用to_list()方法 result = pd.Series(data).to_list()
(2)參數(shù)不同:tolist()方法沒(méi)有參數(shù);而to_list()方法有一個(gè)參數(shù),即是否保留索引(keep_index),默認(rèn)為False,如果設(shè)置為T(mén)rue,則在轉(zhuǎn)換后的列表中保留原始索引。
使用tolist()方法,不保留索引 result = df.tolist() 使用to_list()方法,保留索引 result = df.to_list(keep_index=True)
(3)返回值不同:由于tolist()和to_list()的功能相同,因此它們的返回值也是相同的,都是將DataFrame或Series對(duì)象轉(zhuǎn)換為列表,由于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]] (這里的索引被轉(zhuǎn)換為了列名)
pandas中的tolist()和to_list()方法都可以將DataFrame或Series對(duì)象轉(zhuǎn)換為列表,但在調(diào)用方式、參數(shù)和返回值上有一些細(xì)微的差別,在實(shí)際使用中,可以根據(jù)需要選擇合適的方法進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流