新聞中心
在Python的數(shù)據(jù)處理庫pandas中,tolist()和to_list()是兩個常用的方法,用于將DataFrame或Series對象轉(zhuǎn)換為列表,這兩個方法在功能上是相同的,但在使用上有一些細微的差別,下面我們來詳細了解一下這兩個方法的使用和區(qū)別。

1、tolist()方法
tolist()方法是pandas中的一個實例方法,用于將DataFrame或Series對象轉(zhuǎn)換為列表,這個方法只適用于DataFrame和Series對象,對于其他類型的對象無效。
使用方法如下:
import pandas as pd
創(chuàng)建一個DataFrame對象
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)換為一個子列表,最終得到一個嵌套的列表。
2、to_list()方法
to_list()方法是pandas中的一個類方法,用于將DataFrame或Series對象轉(zhuǎn)換為列表,這個方法也只適用于DataFrame和Series對象,對于其他類型的對象無效。
使用方法如下:
import pandas as pd 創(chuàng)建一個Series對象 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)換為一個列表,與tolist()方法不同的是,to_list()方法不會生成嵌套的列表。
3、tolist()和to_list()的區(qū)別
雖然tolist()和to_list()在功能上是相同的,但它們在使用上有一些細微的差別,主要表現(xiàn)在以下幾個方面:
(1)調(diào)用方式不同:tolist()是一個實例方法,需要通過對象實例來調(diào)用;而to_list()是一個類方法,可以直接通過類名來調(diào)用。
使用tolist()方法 result = df.tolist() 使用to_list()方法 result = pd.Series(data).to_list()
(2)參數(shù)不同:tolist()方法沒有參數(shù);而to_list()方法有一個參數(shù),即是否保留索引(keep_index),默認為False,如果設置為True,則在轉(zhuǎn)換后的列表中保留原始索引。
使用tolist()方法,不保留索引 result = df.tolist() 使用to_list()方法,保留索引 result = df.to_list(keep_index=True)
(3)返回值不同:由于tolist()和to_list()的功能相同,因此它們的返回值也是相同的,都是將DataFrame或Series對象轉(zhuǎn)換為列表,由于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]] (這里的索引被轉(zhuǎn)換為了列名)
pandas中的tolist()和to_list()方法都可以將DataFrame或Series對象轉(zhuǎn)換為列表,但在調(diào)用方式、參數(shù)和返回值上有一些細微的差別,在實際使用中,可以根據(jù)需要選擇合適的方法進行數(shù)據(jù)轉(zhuǎn)換。
新聞標題:pandastolist和to_list詳解
網(wǎng)頁鏈接:http://www.fisionsoft.com.cn/article/djohoij.html


咨詢
建站咨詢
