HOWTO · Pandas

追加到 Pandas 中的空 DataFrame

本教程演示瞭如何使用 Python 在 Pandas 中附加到空 DataFrame。

本頁內容

正如我們之前所瞭解的,Python 中的 Pandas 是一個開源模組,我們可以使用它進行資料分析和製作機器學習模型。它與另一個名為 Numpy 的包一起使用,因為它們攜手支援多維陣列。

許多資料科學模組可以與 Python 生態系統中的 Pandas 一起使用。我們將學習在 Pandas 中附加到空 DataFrame 的不同操作。

DataFrame 是表格形式的二維和潛在的異構資料。

本教程教授如何使用 Python 在 Pandas 的空 DataFrame 中新增行和列。我們將研究三種不同的方法來向空 DataFrame 新增資料,因為有多種方法。

在 Pandas 中建立一個空 DataFrame 並新增行和列

下面是匯入所需包、製作空 DataFrame 和附加列的程式碼。

# import pandas library as pd
import pandas as pd

# create an Empty DataFrame object
df = pd.DataFrame()
print(df)
# append columns to an empty DataFrame
df["Name"] = ["Preet", "Parin", "Rajesh"]
df["Articles"] = [97, 600, 200]
df["Improved"] = [2200, 75, 100]

print(df)

上述程式碼片段的輸出如下。

Empty DataFrame
Columns: []
Index: []
	Name	Articles  Improved
0	Preet	97		  2200
1	Parin	600		  75
2	Rajesh 	200		  100

在我們新增列和行之前,DataFrame 是空的。因此,列印空 DataFrame 為我們提供了輸出 Empty DataFrame, Columns: [], Index: [] 作為輸出,這是預期的,因為資料為空。

將行附加到具有 Pandas 列的空 DataFrame

在這個方法中,DataFrame 是空的,但是會有預定義的列名,我們唯一的任務就是在它下面的行中插入資料。

下面是上述方法的程式碼,我們最初匯入庫 Pandas,建立一個包含列的 DataFrame,然後以行的形式附加值。

# import pandas library as pd
import pandas as pd

# create an Empty DataFrame
# object With column names only
df = pd.DataFrame(columns=["Name", "Articles", "Improved"])
print(df)

# append rows to an empty DataFrame
df = df.append({"Name": "Preet", "Articles": 97, "Improved": 2200}, ignore_index=True)
df = df.append({"Name": "Parin", "Articles": 30, "Improved": 50}, ignore_index=True)
df = df.append({"Name": "Rajesh", "Articles": 17, "Improved": 220}, ignore_index=True)
print(df)

該程式碼將為我們提供以下輸出。

Empty DataFrame
Columns: [Name, Articles, Improved]
Index: []
	Name	Articles  Improved
0	Preet	97		  2200
1	Parin	30	      50
2	Rajesh	17		  220

正如我們所看到的,由於我們已經在 DataFrame 中新增了列的名稱,因此輸出由 Columns: [Name, Articles, Improvement] 組成,它是陣列中的列名稱。

以下輸出是因為我們使用了 .append() 函式。

使用 Pandas 中的 .loc() 函式建立一個空 DataFrame,包括帶有索引的列和附加行

Pandas 中的 .loc() 方法可幫助使用者輕鬆地從 DataFrame 中檢索值,而不會帶來任何複雜性。可以根據函式中傳遞的索引值訪問特定行和列中的值。

在這種方法中,我們將建立一個空的 DataFrame 和列名。將使用索引來識別每一列來訪問它。

接下來我們將一個接一個地追加行。

下面給出了證明這種方法的程式碼。

# import pandas library as pd
import pandas as pd

# create an Empty DataFrame object With
# column names and indices
df = pd.DataFrame(columns=["Name", "Articles", "Improved"], index=["a", "b", "c"])

print("Empty DataFrame With NaN values : \n\n", df)

# adding rows to an empty
# dataframe at existing index
df.loc["a"] = ["Preet", 50, 100]
df.loc["b"] = ["Parin", 60, 120]
df.loc["c"] = ["Rajesh", 30, 60]
print(df)

上面給出的程式碼的輸出如下。

Empty DataFrame With NaN values :

   Name  Articles  Improved
a  NaN      NaN      NaN
b  NaN      NaN      NaN
c  NaN      NaN      NaN
   Name  Articles  Improved
a  Preet	50		 100
b  Parin	60	     120
c  Rajesh	30		 60

正如我們所觀察到的,第一個表中的 NaN 值是因為我們提到了索引,但這些值仍然為空。

提供索引的數量會將表繫結到該特定例項的那麼多值。增加索引的數量允許插入更多的值。

因此,在本教程中,我們學習了在 Pandas 中將值附加到 DataFrame 的三種不同方法。