將 Pandas DataFrame 列轉換為列表
-
使用
tolist()
方法將 DataFrame 的列轉換為一個列表 -
使用
list()
函數將 DataFrame 的列轉換為一個列表 -
使用
.values
屬性將 DataFrame 的列轉換為一個列表 - 使用列表推導來將 DataFrame 的欄位轉換為清單
- 總結
在 Python 中使用 Pandas DataFrame 工作時,您可能經常需要將 DataFrame 的列轉換為 Python 清單。這個過程對於各種數據操作和分析任務非常重要。幸運的是,Pandas 提供了幾種方法來實現這一點,使您能夠輕鬆地以清單形式提取所需的數據。
在本文中,我們將探索將 Pandas DataFrame 列轉換為 Python 清單的不同方法。我們將使用一個包含有關姓名、出生日期(DOB)和薪水信息的示例 DataFrame 來演示這些方法。
import pandas as pd
data = {
"Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
"DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
"Salary": ["1000", "12000", "36000", "15000", "12000"],
}
df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])
我們將探索四種不同的方法來執行此轉換:使用 tolist()
方法、list()
函數、.values
屬性和列表推導式。每種方法都有其優點,因此讓我們深入探討一下。
使用 tolist()
方法將 DataFrame 的列轉換為一個列表
Pandas DataFrame 中的一列是一個 Pandas Series
。因此,如果我們需要將列轉換為列表,我們可以使用 Series
的 tolist()
方法。tolist()
將 Pandas 數據框的 Series
轉換為一個列表。
在下面的代碼中,df['DOB']
返回 DataFrame 中名為 DOB
的 Series
或列。
tolist()
方法將 Series
轉換為列表。
import pandas as pd
df = pd.DataFrame(
[
["James", "1/1/2014", "1000"],
["Michelina", "2/1/2014", "12000"],
["Marc", "3/1/2014", "36000"],
["Bob", "4/1/2014", "15000"],
["Halena", "4/1/2014", "12000"],
],
columns=["Name", "DOB", "Salary"],
)
print("Pandas DataFrame:\n\n", df, "\n")
list_of_single_column = df["DOB"].tolist()
print(
"the list of a single column from the dataframe\n",
list_of_single_column,
"\n",
type(list_of_single_column),
)
輸出:
Pandas DataFrame:
Name DOB Salary
0 James 1/1/2014 1000
1 Michelina 2/1/2014 12000
2 Marc 3/1/2014 36000
3 Bob 4/1/2014 15000
4 Halena 4/1/2014 12000
the list of a single column from the dataframe
['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014']
<class 'list'>
使用 list()
函數將 DataFrame 的列轉換為一個列表
我們還可以使用 list()
函數將 DataFrame 的列轉換為列表,只需將 DataFrame 傳遞給 list()
函數即可。
我們將使用與上面相同的數據來演示這種方法。
import pandas as pd
df = pd.DataFrame(
[
["James", "1/1/2014", "1000"],
["Michelina", "2/1/2014", "12000"],
["Marc", "3/1/2014", "36000"],
["Bob", "4/1/2014", "15000"],
["Halena", "4/1/2014", "12000"],
],
columns=["Name", "DOB", "Salary"],
)
print("Pandas DataFrame:\n\n", df, "\n")
list_of_single_column = list(df["DOB"])
print(
"the list of a single column from the dataframe\n",
list_of_single_column,
"\n",
type(list_of_single_column),
)
輸出:
Pandas DataFrame:
Name DOB Salary
0 James 1/1/2014 1000
1 Michelina 2/1/2014 12000
2 Marc 3/1/2014 36000
3 Bob 4/1/2014 15000
4 Halena 4/1/2014 12000
the list of a single column from the dataframe
['1/1/2014', '2/1/2014', '3/1/2014', '4/1/2014', '4/1/2014']
<class 'list'>
使用 .values
屬性將 DataFrame 的列轉換為一個列表
另一種實現這一目標的方法是使用 .values
屬性。
讓我們通過使用 .values
屬性將該數據框的 ‘Salary’ 列轉換為 Python 列表的步驟。
Pandas Series 的 .values
屬性返回數據的 NumPy 數組表示。為了將其轉換為 Python 列表,您可以使用 .tolist()
方法。這是如何做的:
salary_list = df["Salary"].values.tolist()
以下是完整的代碼:
import pandas as pd
data = {
"Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
"DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
"Salary": ["1000", "12000", "36000", "15000", "12000"],
}
df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])
# Convert the 'Salary' column to a list using .values
salary_list = df["Salary"].values.tolist()
print(salary_list)
輸出:
['1000', '12000', '36000', '15000', '12000']
執行此程式碼後,DataFrame 中的 Salary
欄位將被轉換為 Python 的清單,並儲存在 salary_list
變數中。
使用列表推導來將 DataFrame 的欄位轉換為清單
列表推導是 Python 中一種簡潔且高效的方法來建立清單。要使用列表推導將 Pandas DataFrame 的欄位轉換為 Python 清單,可以按照以下程式碼進行操作。
# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]
以下是完整的程式碼:
import pandas as pd
data = {
"Name": ["James", "Michelina", "Marc", "Bob", "Halena"],
"DOB": ["1/1/2014", "2/1/2014", "3/1/2014", "4/1/2014", "4/1/2014"],
"Salary": [1000, 12000, 36000, 15000, 12000],
}
df = pd.DataFrame(data, columns=["Name", "DOB", "Salary"])
# Using list comprehension to convert the 'Salary' column to a list
salary_list = [salary for salary in df["Salary"]]
print(salary_list)
輸出結果:
[1000, 12000, 36000, 15000, 12000]
總結
在本文章中,我們探討了四種將 Pandas DataFrame 的欄位轉換為 Python 清單的不同方法:使用 tolist()
方法、list()
函式、.values
屬性以及列表推導。每種方法都有其優點,可以根據具體的使用案例和編碼風格進行選擇。
無論您偏好 tolist()
方法的簡單性、list()
函式的標準 Python 風格、.values
屬性的效率,還是列表推導的可讀性,Pandas 都提供了多種選項,以幫助您無縫地將 DataFrame 的欄位轉換為 Python 清單。
相關文章 - Pandas DataFrame Column
- 如何將 Pandas DataFrame 列標題獲取為列表
- 如何刪除 Pandas DataFrame 列
- 如何在 Pandas 中將 DataFrame 列轉換為日期時間
- 如何獲得 Pandas 列中元素總和
- 如何更改 Panas DataFrame 列的順序
- 如何在 Pandas 中將 DataFrame 列轉換為字串