如何在現有的 Pandas DataFrame 中新增一行?
在使用 Python 中的 pandas 處理資料時,向現有的 pandas DataFrame 新增新行(可以是一行或多行)是一項常見的任務,可以使用各種 pandas 方法來執行。Pandas 是 Python 中一個流行的資料處理庫,它提供了多種用於資料分析的功能。在本文中,我們將討論如何使用不同的方法在 Python 中向現有的 pandas DataFrame 新增一行。
如何在現有的 Pandas DataFrame 中新增一行?
在我們向 pandas DataFrame 新增新行之前,讓我們首先在 Python 中建立一個示例 Pandas DataFrame,我們將在整篇文章中使用它。我們將建立一個包含三列的 Pandas DataFrame:“Name”,“Gender”和“Age”。以下是 Python 中建立 Pandas DataFrame 的程式:
示例
import pandas as pd
data = {
"Name": ["Jane", "Martin", "Baskin"],
"Gender": ["Female", "Male", "Male"],
"Age": [20, 34, 32]
}
df = pd.DataFrame(data)
print(df)
輸出
Name Gender Age 0 Jane Female 20 1 Martin Male 34 2 Baskin Male 32
現在我們將討論可用於在 Python 中向現有的 Pandas DataFrame 新增一行的各種方法。
方法 1:使用 append() 方法
使用 append() 方法是向 Pandas DataFrame 新增新行的最簡單方法之一。此方法將新行追加到現有的 DataFrame。以下是有關如何使用此方法以及現有 DataFrame 的示例:
示例
import pandas as pd
data = {
"Name": ["Jane", "Martin", "Baskin"],
"Gender": ["Female", "Male", "Male"],
"Age": [20, 34, 32]
}
df = pd.DataFrame(data)
new_r = {"Name": "Alicia", "Gender": "Female", "Age": 30}
df = df.append(new_r, ignore_index=True)
print(df)
輸出
Name Gender Age 0 Jane Female 20 1 Martin Male 34 2 Baskin Male 32 3 Alicia Female 30
在上面的程式中,我們建立了一個名為 new_row 的新字典,其中包含要新增到現有 DataFrame 的新行的值。然後,我們使用 append() 函式將新行新增到現有 DataFrame。ignore_index=True 引數用於在新增新行後重置 DataFrame 的索引。
方法 2:使用 loc[] 方法
向 Pandas DataFrame 新增新行的另一種方法是使用 loc[] 方法。此方法允許我們選擇 DataFrame 中的特定位置,並在該位置新增新行。下面是如何使用 loc[] 方法在 Pandas DataFrame 末尾新增新行的示例:
示例
import pandas as pd
d= {
"Name": ["Jane", "Martin", "Baskin"],
"Gender": ["Female", "Male", "Male"],
"Age": [20, 34, 32]
}
df = pd.DataFrame(d)
new_r = {"Name": "Alice", "Gender": "Female", "Age": 27}
df.loc[len(df)] = new_r
print(df)
輸出
Name Gender Age 0 Jane Female 20 1 Martin Male 34 2 Baskin Male 32 3 Alice Female 27
在上面的程式碼中,我們使用了 pandas 的 len(df) 方法來獲取 DataFrame 中最後一行索引,並加一以獲取新行的索引。之後,我們使用 loc[] 方法將新行新增到現有 DataFrame 的末尾。
在 Python 中向現有的 DataFrame 新增多行
如果我們想向現有的 Pandas DataFrame 新增多行,我們可以建立一個包含新行的新 DataFrame,並將使用 concat() 方法將新 DataFrame 連線到現有的 DataFrame。以下是執行此操作的示例:
示例
import pandas as pd
d= {
"Name": ["Jane", "Martin", "Baskin"],
"Gender": ["Female", "Male", "Male"],
"Age": [20, 34, 32]
}
df = pd.DataFrame(d)
new_d = {
'Name': ['Alaska', 'David'],
'Age': [28, 33],
'Gender': ['female', 'Male']
}
new_df = pd.DataFrame(new_d)
df = pd.concat([df, new_df], ignore_index=True)
print(df)
輸出
Name Gender Age 0 Jane Female 20 1 Martin Male 34 2 Baskin Male 32 3 Alaska female 28 4 David Male 33
在上面的程式中,我們建立了一個新的 DataFrame,其中包含要新增到現有 DataFrame 的新行。之後,我們使用 Python 的 Pandas 庫的 concat() 方法將新 DataFrame 連線到我們已經建立的現有 DataFrame。ignore_index=True 引數用於在將新 DataFrame 連線到現有 DataFrame 後重置 DataFrame 的索引。
結論
總之,我們使用了 pandas 的三個不同的函式來向現有的 Pandas DataFrame 新增一行。我們使用了 concat() 方法、loc[] 方法和 append() 函式來向使用 Panads(Python 中的一個庫)建立的現有 DataFrame 新增一行。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP