📌  相关文章
📜  添加其他列的新列 - Python (1)

📅  最后修改于: 2023-12-03 15:11:07.176000             🧑  作者: Mango

添加其他列的新列 - Python

在 Python 中,我们经常需要在已有的数据集中添加新的列用于进一步分析。本文将介绍三种不同的方法来添加新列到 Pandas 数据帧中。

1. 使用 DataFrame.assign()

DataFrame.assign() 方法可以在现有的数据框上添加一个新的列,同时返回一个新的数据框。该方法需要传入一个字典,字典的键是新列的名称,值是新列的值。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 32, 18, 47],
                   'gender': ['F', 'M', 'M', 'M']})

# 使用 assign() 方法添加新列
df = df.assign(status=['single', 'married', 'single', 'married'])

# 查看添加新列后的数据框
print(df)

输出结果:

       name  age gender   status
0     Alice   25      F   single
1       Bob   32      M  married
2   Charlie   18      M   single
3     David   47      M  married
2. 直接给 DataFrame 赋值

第二种方法是直接在现有数据框中添加一个新列。这可以通过以下方式实现:

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 32, 18, 47],
                   'gender': ['F', 'M', 'M', 'M']})

# 直接给数据框赋值新列
df['status'] = ['single', 'married', 'single', 'married']

# 查看添加新列后的数据框
print(df)

输出结果:

       name  age gender   status
0     Alice   25      F   single
1       Bob   32      M  married
2   Charlie   18      M   single
3     David   47      M  married
3. 使用 apply() 方法

如果新列的值需要基于已有列的值计算得到,可以使用 apply() 方法来实现。首先,定义一个函数,用于计算新列的值。该函数需要接受一行数据,然后返回一个值,表示新列的值。接下来,使用 apply() 方法将该函数应用于数据框的每一行,并将计算得到的值赋给新列。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 32, 18, 47],
                   'gender': ['F', 'M', 'M', 'M']})

# 定义一个函数,用于计算 status 列的值
def get_status(row):
    if row['age'] < 30 and row['gender'] == 'M':
        return 'young man'
    else:
        return 'other'

# 使用 apply() 方法添加新列
df['status'] = df.apply(get_status, axis=1)

# 查看添加新列后的数据框
print(df)

输出结果:

       name  age gender      status
0     Alice   25      F       other
1       Bob   32      M       other
2   Charlie   18      M   young man
3     David   47      M       other

以上是在 Python 中添加其他列的新列的三种方法。无论使用哪种方法,都可以为已有的数据框添加新的列,以供进一步分析。