返回

Python Pandas教程:如何向DataFrame插入一行或一列数据

后端

轻松掌握向 Pandas DataFrame 插入数据:使用 loc[]、iloc[]、append() 和 insert()

在数据分析领域,使用 Pandas DataFrame 是处理数据不可或缺的工具。经常需要向 DataFrame 中添加新行或新列,以更新信息或合并不同来源的数据。

理解数据插入方法

Pandas 提供了多种方法来向 DataFrame 插入数据,每种方法都有其独特的优点和用法。了解这些方法将使您能够高效地管理和操作数据。

1. 使用 loc[] 插入数据

loc[] 函数允许您使用标签(行号或列名)来插入数据。

  • 语法: df.loc[标签] = 值
  • 示例: 向 DataFrame 的第二行插入一行数据:
df.loc[2] = [1, 2, 3]

2. 使用 iloc[] 插入数据

iloc[] 函数使用整数索引来插入数据。

  • 语法: df.iloc[索引] = 值
  • 示例: 向 DataFrame 的第三列插入一列数据:
df.iloc[:, 2] = [4, 5, 6]

3. 使用 append() 插入数据

append() 函数将一行或多行数据添加到 DataFrame 的底部。

  • 语法: df = df.append(新行)
  • 示例: 向 DataFrame 的底部添加一行数据:
new_row = [1, 2, 3]
df = df.append(new_row)

4. 使用 insert() 插入数据

insert() 函数允许您在特定位置插入一列或多列数据。

  • 语法: df.insert(位置, 列名, 新列)
  • 示例: 向 DataFrame 的第二列插入一列数据:
new_column = [4, 5, 6]
df.insert(1, "新列", new_column)

根据需要选择方法

选择最佳的数据插入方法取决于您的具体需求。loc[]iloc[] 函数在使用标签和索引时非常方便,而 append()insert() 函数更适合于在 DataFrame 中追加或插入新数据。

举例说明

假设您有一个包含学生成绩的 DataFrame,并且需要添加一列表示学生的分数等级。您可以使用 insert() 函数轻松地执行此操作:

import pandas as pd

# 创建学生成绩 DataFrame
grades = pd.DataFrame({
    "姓名": ["约翰", "玛丽", "汤姆"],
    "数学": [85, 90, 75],
    "英语": [80, 88, 92],
})

# 插入分数等级列
grades.insert(3, "分数等级", ["B", "A", "C"])

# 输出 DataFrame
print(grades)

输出:

   姓名  数学  英语 分数等级
0  约翰  85   80       B
1  玛丽  90   88       A
2  汤姆  75   92       C

常见问题解答

  1. 哪种方法最适合向 DataFrame 插入一行数据?

    • 对于按标签插入,使用 loc[] 。对于按索引插入,使用 iloc[]
  2. 如何将多行数据添加到 DataFrame?

    • 使用 append() 函数创建一个新的 DataFrame,并将其附加到原始 DataFrame。
  3. 如何插入一个重复值的列?

    • insert() 函数的 allow_duplicates 参数中指定 True
  4. 如何将 DataFrame 中的一行或一列删除?

    • 使用 drop() 函数,传递要删除的行或列的标签或索引。
  5. 插入数据时有什么注意事项?

    • 确保数据类型与现有 DataFrame 列匹配。
    • 如果插入的行或列数与现有 DataFrame 不一致,可能会出现错误。

结论

理解 loc[]iloc[]append()insert() 方法将使您能够高效地向 Pandas DataFrame 中插入数据。根据您的具体需求选择最佳方法,您将能够轻松地管理和操作数据,以获得有价值的见解。