在 Python 中將列表轉換為 Pandas DataFrame

Ankur Baral 2023年1月30日
  1. 在 Python 中將列表轉換為 Pandas DataFrame
  2. 在 Python 中將列表儲存在 Pandas DataFrame 的列中
  3. 在 Python 中將列表轉換為帶索引的 DataFrame
  4. 在 Python 中使用 zip() 將兩個列表壓縮到單個 DataFrame 中
  5. 在 Python 中將多維列表轉換為 Pandas DataFrame
在 Python 中將列表轉換為 Pandas DataFrame

本文將介紹將列表中的項轉換為 Pandas DataFrame 的方法。

在 Python 中將列表轉換為 Pandas DataFrame

DataFrame,一般是一種二維標記的資料結構。Pandas 是一個開源 Python 包,對資料科學非常有用。

在這裡,我們將首先匯入 pandas 包。我們將在這個特定程式中將 pandas 包定義為 pd。然後我們將建立一個列表 my_list 來儲存列表值 TomMarkTony,它們只是隨機名稱。然後我們將 pd.DataFrame(my_list) 分配給變數 dfDataFrame(my_list) 方法獲取 my_list 的值並用它建立一個 DataFrame。在程式的最後一行,我們呼叫了儲存在變數 df 中的列印 DataFrame。請注意,我們也可以只編寫 df 而不是 print(df) 來檢視我們的 DataFrame。

示例程式碼:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list)
print(df)

輸出:

    0
0   Tom
1   Mark
2   Tony

我們可以看到,我們在列表中提供的元素現在位於上述輸出的一列中。

在 Python 中將列表儲存在 Pandas DataFrame 的列中

我們可以通過在 DataFrame 中建立一列並將轉換後的資料儲存在該列中來將列表轉換為 pandas DataFrame。

要將列表轉換為 Pandas DataFrame 列的資料,我們將建立一個列表 my_list 併為列表提供一些隨機名稱作為值。我們的目標是確保列表元素成為標題為 Names 的列的條目。為此,我們將使用 columns = ['Names'] 將變數 my_list 傳遞給 pd.DataFrame(),如下所示。然後我們列印 df 變數並執行我們的程式碼以檢視輸出。

示例程式碼:

# python 3.x
import pandas as pd

my_list = ["Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, columns=["Names"])
print(df)

輸出:

    Names
0   Tom
1   Mark
2   Tony

在我們新增一個額外的屬性 columns = ['Names'] 之後,我們看到 my_list 中的名稱作為 DataFrame 中 Names 列的值。

在 Python 中將列表轉換為帶索引的 DataFrame

我們還可以在將列表項轉換為 DataFrame 的同時索引它們。

我們將建立一個列表 my_list。我們的目標是確保列表元素成為具有預定義行索引的標題為名稱的列條目。為此,我們將建立一個列表 index 並用 iiiiii 填充它。我們可以使用列表作為 pd.DataFrame() 中的第二個引數。第一個和第三個引數是 my_listcolumns =['Names']。然後,我們將列印儲存我們編寫的表示式的變數 df

示例程式碼:

# python 3.x
import pandas as pd

my_list = [" Tom", "Mark", "Tony"]
df = pd.DataFrame(my_list, index=["i.", "ii.", "iii."], columns=["Names"])
print(df)

輸出:

     Names
i.    Tom
ii.   Mark
iii.  Tony

我們可以看到列表 index 中的值已經替換了預設的 Pandas 索引。我們可以將任何值放入 index 並相應地生成結果。

在 Python 中使用 zip() 將兩個列表壓縮到單個 DataFrame 中

zip() 函式通過將具有相同索引的列表的值組合在一起,將兩個不同列表的值合併為一個。在我們建立 DataFrame 之前,讓我們先看看 zip() 是如何工作的。

示例程式碼:

# python 3.x
a = ["1", "2", "3"]
b = ["4", "5", "6"]
c = zip(a, b)
list1 = list(c)
print(list1)

輸出:

[('1', '4'), ('2', '5'), ('3', '6')]

我們可以看到 zip() 函式幫助我們將列表 ab 與分組的相似索引項組合在一起。我們將列表 ab 的壓縮狀態儲存到 c,然後建立 list1,將壓縮列表 c 儲存到其中。在以下示例中,我們將使用 zip() 建立一個 Pandas DataFrame。

我們將建立兩個不同的列表,name_listheight_list,並分別儲存一些名稱和高度。然後我們使用 zip(name_list, height_list) 壓縮 name_listheight_list 以建立一個 Pandas DataFrame。

請注意,我們還可以通過簡單地放置另一個屬性 index = [ 'index1', 'index2', 'index3' ] 索引我們的資料,其中索引列表中的專案可以是任何內容。

示例程式碼:

# python 3.x
import pandas as pd

name_list = ["Tom", "Mark", "Tony"]
height_list = ["150", "151", "152"]
df = pd.DataFrame((zip(name_list, height_list)), columns=["Name", "Height"])
print(df)

輸出:

    Name    Height
0   Tom     150
1   Mark    151
2   Tony    152

我們可以看到,形成的 DataFrame 由 name_listheight_list 的值按正確順序組成。

我們也可以使用這種技術來壓縮兩個以上的列表。

在 Python 中將多維列表轉換為 Pandas DataFrame

我們甚至可以將多維列表轉換為 Pandas DataFrame。我們可以為多維列表中的列表項設定列名。我們將用一個二維列表來演示這個方法。

要將多維列表轉換為 Pandas DataFrame,我們需要先建立一個包含多個列表的列表。因此,我們將首先匯入 Pandas,然後建立一個列表 info,我們將在三個單獨的列表中儲存三個不同個體的姓名和年齡。然後我們將呼叫 pd.DataFrame() 並將列表處理到其中,併為我們的資料指定兩列標題,NameAge

示例程式碼:

# python 3.x
import pandas as pd

info = [["Tom", 18], ["Mark", 25], ["Tony", 68]]
df = pd.DataFrame(info, columns=["Name", "Age"])
print(df)

輸出:

    Name    Age
0   Tom     18
1   Mark    25
2   Tony    68

我們有兩列作為輸出,名稱和年齡按各自的順序排列。我們可以向 info 中的各個列表新增其他值,併為它們指定列標題以在我們的 DataFrame 中獲取更多列。

相關文章 - Python Pandas

相關文章 - Python List