在本教程中,我們將學習如何將數據幀轉換為簡單的 Python 列表。我們將學習將數據幀轉換成列表的所有方法。在繼續使用這些方法之前,讓我們先來看看什麼是數據幀,以及如何使用 Pandas 在 Python 中創建數據幀。
Pandas 數據幀
panda 模塊中的數據幀是一個二維(二維)大小的模塊,可能在異構表格數據結構中,其軸(行和列)標有變數。簡而言之,數據幀是一種二維數據結構,其中數據以表格形式排列。
在 Pandas 中創建數據幀
我們可以使用 Python 中的 Pandas 模塊,通過以下程序創建一個基本的數據幀:
示例-
# Importing Panda module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Print the dataframe as result
print(dataFrame)
輸出:
Famous Name Age
0 Stark Iron 42
1 Captain Rogers 95
2 Hulk banner 38
3 Spidy Parker 18
因此,這就是我們如何使用 Pandas 模塊創建數據幀,在查看輸出後,我們還可以了解數據幀的外觀。
將數據幀轉換為列表
在將給定的數據幀轉換為列表時,我們將以下列方式使用程序中 Pandas 模塊的 tolist() 函數:
dataframe.tolist()
讓我們在一個例子中使用這個函數來理解 tolist()函數的工作原理。
示例:
# Importing Panda module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Converting dataframe into a list
List = dataFrame.values.tolist()
# Print converted list data as result
print(List)
輸出:
[['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
將數據幀轉換為列表的方法:
數據幀可以通過多種方式轉換成 Python 列表。在本節中,我們將討論將給定數據幀轉換為列表的所有方法。在這裡,我們將藉助 tolist()函數使用以下四種方法:
- 包含所有行時轉換數據幀
- 將數據幀轉換為嵌套列表
- 將數據幀轉換為嵌套的列列表
- 將數據幀轉換為包含列名的列表
現在,讓我們通過一個例子來了解每種方法,以便更好地理解它們。
方法 1:轉換包含所有行的數據幀
在這種方法中,我們將給定的數據幀轉換為一個列表,該列表將包含數據幀中特定列的所有行。
看下面的程序來理解這個方法的實現:
示例-
# Importing Panda module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Converting dataframe Famous Names column into a single list
FamousNames = dataFrame['Famous Name'].tolist()
# Printing the converted list data
print(FamousNames)
輸出:
['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker']
因此,正如我們在輸出中看到的,我們已經將已定義數據幀的著名名稱列轉換為一個列表,並將其列印在輸出中。
方法 2:將數據幀轉換為嵌套列表
在這種方法中,我們將把給定的數據幀轉換成嵌套列表,該列表將分別包含數據幀中所有列的所有行。
我們將在下面的示例中使用該方法來理解它的實現:
示例-
# Importing Pandas module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Initializing empty list
ResultList = []
# Using for loop to iterating through dataframe columns
for column in dataFrame.columns:
listing = dataFrame[column].tolist()
ResultList.append(listing) # appending dataframe columns into list
# Print the converted list data
print(ResultList)
輸出:
[['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker'], [42, 95, 38, 18]]
方法 3:將數據幀轉換為嵌套的列列表
在這種方法下,我們將把一個給定的數據幀轉換成一個列表,該列表將包含多個列表,這些列表包含一行的所有列。
看下面的程序來理解這個方法的實現:
示例-
# Importing Panda module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Converting dataframe into a list
List = dataFrame.values.tolist()
# Print converted list data as result
print(List)
輸出:
[['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
這就是我們如何使用這個方法將給定的數據幀轉換成一個包含多個列表的列表,這些列表包含來自所有列和行的數據。
方法 4:將數據幀轉換為包含列名的列表
當我們想要將給定的數據幀轉換為包含多個列表的列表時,我們使用此方法,這些列表的所有列都帶有數據幀的列名和行。
我們將在下面的示例中使用該方法來理解它的實現:
示例-
# Importing Panda module as jtp
import pandas as jtp
GivenData = {'Famous Name':['Stark Iron', 'Captain Rogers', 'Hulk banner', 'Spidy Parker' ],
'Age': [42, 95, 38, 18] }
# Creating DataFrame with DataFrame() function
dataFrame = jtp.DataFrame(GivenData)
# Converting dataframe into multiple lists
listing = [dataFrame.columns.values.tolist()] + dataFrame.values.tolist()
# Printing the converted list data
print(listing)
輸出:
[['Famous Name', 'Age'], ['Stark Iron', 42], ['Captain Rogers', 95], ['Hulk banner', 38], ['Spidy Parker', 18]]
原創文章,作者:QYCDV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128890.html