📅  最后修改于: 2023-12-03 15:19:32.472000             🧑  作者: Mango
在Python中,有多种方法向数据框(DataFrame)中添加新的列,而不需要更改原始数据。这种操作可以用于在数据框中进行计算、合并数据、添加元数据等。
以下是一些常用的方法和示例,演示了如何添加新的列到数据框中。
可以使用索引直接赋值的方式向数据框添加新的列。这种方法可以按照已有数据的索引位置,直接添加新的列。
示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['John', 'Emma', 'Mike', 'Lisa'],
'Age': [28, 24, 30, 27]}
df = pd.DataFrame(data)
# 添加新的列
df['Salary'] = [4000, 3500, 4500, 3800]
# 打印数据框
df
输出结果:
| Name | Age | Salary | |------|-----|--------| | John | 28 | 4000 | | Emma | 24 | 3500 | | Mike | 30 | 4500 | | Lisa | 27 | 3800 |
Pandas提供了一个assign函数,可以方便地向数据框中添加新的列。assign函数可以同时添加多个列,并且返回一个新的数据框对象。
示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['John', 'Emma', 'Mike', 'Lisa'],
'Age': [28, 24, 30, 27]}
df = pd.DataFrame(data)
# 使用assign函数添加新的列
df = df.assign(Salary=[4000, 3500, 4500, 3800], Department=['HR', 'Sales', 'IT', 'Marketing'])
# 打印数据框
df
输出结果:
| Name | Age | Salary | Department | |------|-----|--------|------------| | John | 28 | 4000 | HR | | Emma | 24 | 3500 | Sales | | Mike | 30 | 4500 | IT | | Lisa | 27 | 3800 | Marketing |
可以使用apply函数结合lambda表达式,在数据框的每一行上进行计算,并添加新的列。这种方法可以根据已有列的值进行计算,然后将计算结果作为新列添加到数据框中。
示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['John', 'Emma', 'Mike', 'Lisa'],
'Age': [28, 24, 30, 27]}
df = pd.DataFrame(data)
# 使用apply函数添加新的列
df['Salary'] = df['Age'].apply(lambda x: x * 1000)
# 打印数据框
df
输出结果:
| Name | Age | Salary | |------|-----|--------| | John | 28 | 28000 | | Emma | 24 | 24000 | | Mike | 30 | 30000 | | Lisa | 27 | 27000 |
以上是一些常用的方法,用于向数据框中添加新的列。这些方法都遵循原则:不更改原始数据,而是返回一个新的数据框对象。根据需求,可以选择适合的方法来添加列,以便进行进一步的数据分析和处理。