在Python的Pandas中向现有数据帧添加新列 | 您所在的位置:网站首页 › 为dataframe添加一列 › 在Python的Pandas中向现有数据帧添加新列 |
在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 实验室设备网 版权所有 |