如何在 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():将两个或多个数据框基于一个或多个公共列合并在一起。

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

目录
相关文章
|
索引 Python
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
410 4
|
存储 关系型数据库 数据库
如何在 Pandas 中合并数据框?
【8月更文挑战第30天】
121 0
|
存储 SQL 数据库
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
Python 教程之 Pandas(2)—— 创建 Pandas 数据框
428 0
|
存储 IDE 开发工具
Python 教程之 Pandas(1)—— Pandas 数据框
Python 教程之 Pandas(1)—— Pandas 数据框
531 0
|
算法 数据挖掘 数据库
Pandas数据框整体操作(中)
引入 俗话说得好,做事和学习要循序渐进。pandas里面数据框整体操作还是非常重要的,上篇主要介绍的是最形象的数据框操作,而本期则偏重综合实践,介绍数据的连接。
Pandas数据框整体操作(中)
|
IDE 开发工具 索引
Pandas数据框整体操作(上)
引入 前面几期我几乎介绍了pandas可能用到的各个基础函数。 但有一个非常重要的内容似乎一直忽视了 包括我近期查阅了许多文章,好像在这部分内容上比较难以讲清楚,没基础的读者很容易云里雾里。 他就是pandas的数据框整体操作
Pandas数据框整体操作(上)
|
Python
推荐Python数据框Pandas视频教程
若要独立用 Python 处理数据科学问题,Pandas 是绕不过去的。 新番 今天,花了一上午的时间,跟着这个 Youtube 系列教程,学习了 Pandas 中级技巧。
1775 0
|
2月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
290 0
|
2月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
468 0
|
4月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
421 0