Pandas Append 方法

Beginner

介绍

在本教程中,你将学习如何在 Python Pandas 中使用 append() 方法。append() 方法允许你将一个 DataFrame 的行追加到另一个 DataFrame 中,并返回一个新的 DataFrame 对象。如果被追加的 DataFrame 中有调用 DataFrame 中不存在的列,它还可以添加这些列。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 寻求帮助。在实验结束后提供反馈,我们将及时为你解决问题。

创建两个 DataFrame

首先,我们需要创建两个 DataFrame,用于本教程中的示例。

import pandas as pd

## 创建 DataFrame 1
df1 = pd.DataFrame([['Abhishek', 100, 'Science', 90],
                    ['Anurag', 101, 'Science', 85]],
                   columns=['Name', 'Roll No', 'Subject', 'Marks'])

## 创建 DataFrame 2
df2 = pd.DataFrame([['Chetan', 103, 'Maths', 75],
                    ['Divya', 104, 'Science', 80],
                    ['Diya', 105, 'Maths', 92]],
                   columns=['Name', 'Roll No', 'Subject', 'Marks'])

使用 append() 方法追加行

你可以使用 append() 方法将一个 DataFrame 追加到另一个 DataFrame 中。为此,只需在要追加的目标 DataFrame 上调用 append() 方法,并将要追加的 DataFrame 作为参数传递。

## 将 DataFrame 2 追加到 DataFrame 1
appended_df = df1.append(df2)

## 打印结果
print(appended_df)

避免索引值重叠

当你将一个 DataFrame 追加到另一个 DataFrame 时,索引值可能会重叠。为了避免这种情况,你可以将 ignore_index 参数设置为 True。这将为追加后的 DataFrame 重新分配新的索引值。

## 将 DataFrame 2 追加到 DataFrame 1,并将 ignore_index 参数设置为 True
appended_df = df1.append(df2, ignore_index=True)

## 打印结果
print(appended_df)

防止索引值重叠

如果你希望在索引值重叠时引发错误,可以将 verify_integrity 参数设置为 True

## 将 DataFrame 2 追加到 DataFrame 1,并将 verify_integrity 参数设置为 True
try:
    appended_df = df1.append(df2, verify_integrity=True)
except ValueError as e:
    print(e)

从 Series 追加行

你也可以将单行数据(以 Series 形式表示)追加到 DataFrame 中。为此,首先创建一个包含行值和索引的 Series 对象,然后在 DataFrame 上调用 append() 方法,并将 Series 作为参数传递。

## 创建一个 Series
series = pd.Series(['Chetan', 103, 'Maths', 75], index=['Name', 'Roll No', 'Subject', 'Marks'])

## 将 Series 追加到 DataFrame 1
appended_df = df1.append(series, ignore_index=True)

## 打印结果
print(appended_df)

从 Dictionary 追加行

你也可以将字典形式表示的单行数据追加到 DataFrame 中。为此,首先创建一个字典,其中键为列名,值为行数据,然后在 DataFrame 上调用 append() 方法,并将字典作为参数传递。

## 创建一个字典
dictionary = {'Name': 'Chetan', 'Roll No': 103, 'Subject': 'Maths', 'Marks': 75}

## 将字典追加到 DataFrame 1
appended_df = df1.append(dictionary, ignore_index=True)

## 打印结果
print(appended_df)

总结

在本教程中,你学习了如何在 Python Pandas 中使用 append() 方法。你可以使用此方法将一个 DataFrame 的行追加到另一个 DataFrame 中,同时如果被追加的 DataFrame 中存在调用 DataFrame 中不存在的列,这些列也会被添加。记得使用适当的参数,例如 ignore_indexverify_integrity,来控制追加操作的行为。此方法使你可以轻松地在数据分析任务中组合和操作 DataFrame。祝你编码愉快!