在 Python 中將列表轉換為 Pandas DataFrame
- 在 Python 中將列表轉換為 Pandas DataFrame
- 在 Python 中將列表儲存在 Pandas DataFrame 的列中
- 在 Python 中將列表轉換為帶索引的 DataFrame
-
在 Python 中使用
zip()
將兩個列表壓縮到單個 DataFrame 中 - 在 Python 中將多維列表轉換為 Pandas DataFrame
本文將介紹將列表中的項轉換為 Pandas DataFrame 的方法。
在 Python 中將列表轉換為 Pandas DataFrame
DataFrame,一般是一種二維標記的資料結構。Pandas 是一個開源 Python 包,對資料科學非常有用。
在這裡,我們將首先匯入 pandas 包。我們將在這個特定程式中將 pandas 包定義為 pd
。然後我們將建立一個列表 my_list
來儲存列表值 Tom
、Mark
和 Tony
,它們只是隨機名稱。然後我們將 pd.DataFrame(my_list)
分配給變數 df
。DataFrame(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
並用 i
、ii
和 iii
填充它。我們可以使用列表作為 pd.DataFrame()
中的第二個引數。第一個和第三個引數是 my_list
和 columns =['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()
函式幫助我們將列表 a
和 b
與分組的相似索引項組合在一起。我們將列表 a
和 b
的壓縮狀態儲存到 c
,然後建立 list1
,將壓縮列表 c
儲存到其中。在以下示例中,我們將使用 zip()
建立一個 Pandas DataFrame。
我們將建立兩個不同的列表,name_list
和 height_list
,並分別儲存一些名稱和高度。然後我們使用 zip(name_list, height_list)
壓縮 name_list
和 height_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_list
和 height_list
的值按正確順序組成。
我們也可以使用這種技術來壓縮兩個以上的列表。
在 Python 中將多維列表轉換為 Pandas DataFrame
我們甚至可以將多維列表轉換為 Pandas DataFrame。我們可以為多維列表中的列表項設定列名。我們將用一個二維列表來演示這個方法。
要將多維列表轉換為 Pandas DataFrame,我們需要先建立一個包含多個列表的列表。因此,我們將首先匯入 Pandas,然後建立一個列表 info
,我們將在三個單獨的列表中儲存三個不同個體的姓名和年齡。然後我們將呼叫 pd.DataFrame()
並將列表處理到其中,併為我們的資料指定兩列標題,Name
和 Age
。
示例程式碼:
# 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 中獲取更多列。