如何在现有的 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 添加一行。