Python中常用的數據結構之一為DataFrame,但有時需要針對特定需求將DataFrame轉為List。本文從多個方面針對Python DataFrame轉List詳細介紹。
一、簡介與背景
DataFrame是Python中Pandas庫中的一種重要數據結構,可以靈活存儲、操作數據。但是在實際應用中,有時需要將DataFrame轉換為List類型再進行操作。轉List通常是為了方便輸入到某些函數或API接口中,或者由於某些限制只允許使用List類型。
二、方法1:使用tolist函數
DataFrame提供了tolist()函數,可以直接將DataFrame轉為List類型。
import pandas as pd # 創建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}) # 使用tolist()函數進行轉換 lst = df.values.tolist() print(lst)
代碼輸出結果:
[[1, 'a'], [2, 'b'], [3, 'c']]
可以看出,tolist函數將DataFrame轉換為List,List的每個元素對應一行DataFrame。
三、方法2:使用list()函數
有時候我們可能需要定製List中元素的格式,例如只取DataFrame中的特定列(即某些特定元素),此時可以使用list()函數。
import pandas as pd # 創建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}) # 獲取指定列 lst = list(df['A']) print(lst)
代碼輸出結果:
[1, 2, 3]
使用list()函數時,可以根據自己的需要獲取相應列,例如上述代碼只獲取了DataFrame中的’A’列。
四、方法3:遍歷DataFrame
遍歷DataFrame並使用append函數逐行添加到List中也是一種常見的方法。可以通過iloc函數訪問DataFrame中每行的元素,並使用append函數將其逐行添加到List中。
import pandas as pd # 創建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}) # 遍歷DataFrame並添加到List中 lst = [] for row in df.itertuples(index=False): lst.append(list(row)) print(lst)
代碼輸出結果:
[[1, 'a'], [2, 'b'], [3, 'c']]
使用for循環遍歷DataFrame中每行元素,並使用append函數添加到List中,最終得到DataFrame轉化為的List對象。
五、方法4:使用numpy庫
在實現一些高級操作時,可以使用NumPy庫進行DataFrame轉List的操作。下面的示例展示了如何使用NumPy庫將DataFrame轉成List類型。
import pandas as pd import numpy as np # 創建DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}) # 使用numpy庫進行轉換 lst = np.array(df).tolist() print(lst)
代碼輸出結果:
[[1, 'a'], [2, 'b'], [3, 'c']]
可以看出可以使用NumPy庫的array()函數將DataFrame轉換為array類型,然後通過tolist()函數轉換為List類型。
六、總結
本文介紹了多種方法如何在Python中將DataFrame轉換為List類型,包括使用DataFrame自帶的tolist()函數、使用list()函數、遍歷DataFrame和使用NumPy庫等方法。通過本文的介紹,我們可以更加靈活地處理數據。如果您對DataFrame有更多的操作需求,可以查閱官方文檔以獲得更多信息。
原創文章,作者:YVCIB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/374168.html