如何在 Pandas 数据框中添加新列?

简介: 【8月更文挑战第30天】

在 Pandas 中,添加新列是一个常见且重要的操作,可用于扩展数据框并包含更多信息。有几种方法可以向数据框添加新列,具体取决于数据的类型和所需的结果。

方法 1:使用赋值运算符

最简单的方法是使用赋值运算符 (=) 将新列直接分配给数据框。新列的名称将是分配语句的左侧,值将是分配语句的右侧。

import pandas as pd

df = pd.DataFrame({
   'Name': ['Alice', 'Bob', 'Carol'],
                   'Age': [20, 25, 30]})

# 使用赋值运算符添加新列
df['Gender'] = ['Female', 'Male', 'Female']

print(df)

# 输出:
   Name  Age Gender
0  Alice  20  Female
1   Bob  25   Male
2  Carol  30  Female

方法 2:使用 insert() 方法

insert() 方法允许您在指定位置插入新列。它接受以下参数:

  • loc:要插入新列的位置(整数索引)
  • column:新列的名称
  • value:新列的值
# 使用 insert() 方法添加新列
df.insert(1, 'Occupation', ['Student', 'Doctor', 'Teacher'])

print(df)

# 输出:
   Name  Occupation  Age Gender
0  Alice       Student  20  Female
1   Bob        Doctor  25   Male
2  Carol      Teacher  30  Female

方法 3:使用 assign() 方法

assign() 方法允许您使用表达式创建新列。它返回一个具有新列的副本,而不会修改原始数据框。

# 使用 assign() 方法添加新列
df = df.assign(Income=[1000, 2000, 3000])

print(df)

# 输出:
   Name  Occupation  Age Gender  Income
0  Alice       Student  20  Female   1000
1   Bob        Doctor  25   Male   2000
2  Carol      Teacher  30  Female   3000

添加列的注意事项

  • 新列的名称必须是唯一的。
  • 新列的值必须与数据框中的其他列具有相同长度。
  • 如果新列的值类型与现有列不同,则数据框的 dtype 将自动更新为 object
  • 使用 copy=False 参数可以提高 assign() 方法的性能,但可能会产生意外结果。

其他方法

除了上述方法之外,您还可以使用以下方法向数据框添加新列:

  • concat():将两个或多个具有相同索引的数据框连接在一起。
  • join():将两个或多个具有不同索引的数据框基于一个或多个公共键连接在一起。
  • merge():将两个或多个数据框基于一个或多个公共列合并在一起。

这些方法通常用于从其他数据源或数据转换中添加新列。

目录
相关文章
|
14天前
|
存储 关系型数据库 数据库
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
10 0
|
14天前
|
索引 Python
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
12 0
|
9月前
|
存储 SQL 数据库
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
89 0
|
9月前
|
存储 IDE 开发工具
Python 教程之 Pandas(1)—— Pandas 数据框
Python 教程之 Pandas(1)—— Pandas 数据框
82 0
|
算法 数据挖掘 数据库
Pandas数据框整体操作(中)
引入 俗话说得好,做事和学习要循序渐进。pandas里面数据框整体操作还是非常重要的,上篇主要介绍的是最形象的数据框操作,而本期则偏重综合实践,介绍数据的连接。
Pandas数据框整体操作(中)
|
IDE 开发工具 索引
Pandas数据框整体操作(上)
引入 前面几期我几乎介绍了pandas可能用到的各个基础函数。 但有一个非常重要的内容似乎一直忽视了 包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。 他就是pandas的数据框整体操作
Pandas数据框整体操作(上)
|
Python
推荐Python数据框Pandas视频教程
若要独立用 Python 处理数据科学问题,Pandas 是绕不过去的。 新番 今天,花了一上午的时间,跟着这个 Youtube 系列教程,学习了 Pandas 中级技巧。
1605 0
|
2月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
60 1
|
2月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
113 0
|
2天前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化