在Python的Pandas中向现有数据帧添加新列 您所在的位置:网站首页 为dataframe添加一列 在Python的Pandas中向现有数据帧添加新列

在Python的Pandas中向现有数据帧添加新列

2024-07-01 19:30| 来源: 网络整理| 查看: 265

在Python的Pandas中向现有数据帧添加新列

在本教程中,我们将学习如何在pandas中向现有数据帧中添加新列。我们可以有不同的方法来添加新列。让我们看看它们吧。

使用列表

我们可以使用列表添加一个新列。按照以下步骤添加一个新列。

算法 使用字典创建数据帧。 创建一个包含新列数据的列表。确保列表的长度与数据帧中已有的数据的长度相匹配。 将列表添加到数据帧中,作为字典元素。

让我们看一个例子。

示例 # 导入pandas import pandas as pd # 创建一个数据帧 data = { 'Name': ['哈菲兹', '阿斯兰', '卡里姆'], '年龄': [19, 18, 15], '职业': ['Python爱好者', '程序员', '学生'] } 数据帧 = pd.DataFrame(data) print('-----------在添加新列之前----------') print(数据帧) print('\n\n') # 为新列创建一个列表 地点 = ['内洛尔', '孟买', '安得拉邦'] # 我们使用'Places'作为列名 # 将列表作为列添加到数据帧中 数据帧['地点'] = 地点 print('---------------添加新列后------------') print(数据帧) 输出

如果您运行以上程序,您将得到如下结果。

-----------在添加新列之前----------     Name     年龄    职业 0  哈菲兹     19     Python爱好者 1   阿斯兰     18     程序员 2  卡里姆     15        学生 ---------------添加新列后------------     Name   年龄   职业     地点 0  哈菲兹   19   Python爱好者  内洛尔 1   阿斯兰   18    程序员    孟买 2  卡里姆   15     学生    安得拉邦 DataFrame.insert()

有一个内置方法称为 insert() 来添加新列。要添加新列,请按如下步骤操作。

算法 1. 使用字典创建数据帧。 2. 创建一个包含新列数据的列表。确保列表的长度与数据帧中已有的数据的长度相匹配。 3. 使用DataFrame.insert(index, column_name, data) 方法将数据插入到数据帧中。 示例 # 导入pandas import pandas as pd # 创建一个数据帧 data = { 'Name': ['哈菲兹', '阿斯兰', '卡里姆'], '年龄': [19, 18, 15], '职业': ['Python爱好者', '程序员', '学生'] } 数据帧 = pd.DataFrame(data) print('-----------在添加新列之前----------') print(数据帧) print('\n\n') # 为新列创建一个列表 地点 = ['内洛尔', '孟买', '安得拉邦'] # 我们使用'Places'作为列名 # 使用insert(index, column_name, data)方法将列表作为列添加到数据帧中 数据帧.insert(2, '地点', 地点) print('---------------添加新列后------------') print(数据帧) 输出

如果您运行以上程序,您将得到如下结果。

-----------在添加新列之前----------       Name  年龄  职业 0   哈菲兹   19  Python爱好者 1    阿斯兰   18 程序员 2   卡里姆   15    学生 ---------------添加新列后------------        Name  年龄  地点  职业 0  哈菲兹   19   内洛尔  Python爱好者 1   阿斯兰   18   孟买  程序员 2  卡里姆   15   安得拉邦 学生 DataFrame.assign()

该方法需要一个参数,即一个数据列表,并将其作为列添加到数据帧末尾。

Algorithm 1.创建一个数据帧。 2.将一列指定为列表。 3.使用DataFrame.assign()方法将数据列表添加为新列。 Example # 导入pandas库 import pandas as pd # 创建一个数据帧 data = { 'Name': ['哈菲兹', '阿斯兰', '卡里姆'], '年龄': [19, 18, 15], '职业': ['Python爱好者', '程序员', '学生'] } 数据帧 = pd.DataFrame(data) print('-----------在添加新列之前----------') print(数据帧) print('\n\n') # 用列表创建一个新列 地点 = ['内洛尔', '孟买', '安得拉邦'] # 将数据列表添加为新列 数据帧 = 数据帧.assign(地点=地点) print('---------------添加新列后------------') print(数据帧) 输出

如果您运行以上程序,您将得到如下结果。

-----------在添加新列之前----------     Name     年龄    职业 0  哈菲兹     19     Python爱好者 1   阿斯兰     18     程序员 2  卡里姆     15        学生 ---------------添加新列后------------        Name  年龄    职业     地点 0  哈菲兹   19  Python爱好者  内洛尔 1   阿斯兰   18    程序员    孟买 2  卡里姆   15     学生    安得拉邦 使用字典创建DataFrame。 创建一个包含新列数据的列表。确保列表的长度与已存在于数据框中的数据的长度相同。 使用DataFrame.assign(column_name = data)方法将数据插入到DataFrame中。它将返回一个新的数据框。因此,我们需要将它存储起来。 打印新的数据框。

让我们看一个例子。

例如 # 导入pandas import pandas as pd # 创建一个DataFrame data = { 'Name': ['Hafeez', 'Aslan', 'Kareem'], 'Age': [19, 18, 15], 'Profession': ['Pythoneer', 'Programmer', 'Student'] } dataframe = pd.DataFrame(data) print('-----------添加新列之前----------') print(dataframe) print('\n\n') # 为新列创建一个列表 places = ['Nellore', 'Mumbai', 'Andhra'] # 我们将 'Places' 作为列名 # 使用 assign(column_name = data) 将列表添加到数据框中作为列 new_dataframe = dataframe.assign(Places = places) print('---------------添加新列后------------') print(new_dataframe) 输出

如果您运行上面的程序,您将得到以下结果。

-----------添加新列之前---------- Name Age Profession 0 Hafeez 19 Pythoneer 1 Aslan 18 Programmer 2 Kareem 15 Student ---------------添加新列后------------ Name Age Profession Places 0 Hafeez 19 Pythoneer Nellore 1 Aslan 18 Programmer Mumbai 2 Kareem 15 Student Andhra 结论

如果您对本教程有任何疑问,请在评论区中提出。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有