Pandas 如何向现有的DataFrame添加一行

Pandas 如何向现有的DataFrame添加一行

在使用Python的pandas处理数据时,将新行(可以是一行或多行)添加到现有的pandas DataFrame是一个常见的任务,可以使用各种pandas方法来执行。Pandas是一个受欢迎的Python数据操作库,为数据分析提供了多个功能。在本文中,我们将讨论如何使用不同的方法在Python的现有pandas DataFrame中添加一行。

如何向现有的Pandas DataFrame添加一行

在向pandas DataFrame添加新行之前,让我们首先在Python中创建一个示例Pandas DataFrame,本文将在整篇文章中使用这个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,其中包含我们要添加到现有数据框中的新行的值。然后我们使用append()函数将新的行添加到现有数据框中。ignore_index=True参数用于在添加新行后重置数据框的索引。

方法2: 使用loc[]方法

另一种向Pandas数据框中添加新行的方法是使用loc[]方法。这个方法允许我们选择数据框中的特定位置并在该位置添加新行。下面是一个使用loc[]方法在Pandas数据框末尾添加新行的示例-

示例

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中最后一行的索引,并加上1来获取新行的索引。之后,我们使用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。在将新的DataFrame连接到现有DataFrame之后,使用ignore_index=True参数或参数将DataFrame的索引重置。

结论

总之,我们使用了Pandas的三种不同方法在现有的Pandas DataFrame中添加一行。我们使用了concat()方法、loc[]方法和append()函数,在Python中使用Pandas库创建了一个现有DataFrame来添加一行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记