在Pandas Dataframe中使用for循环创建一个列

  • Post category:Python

在 Pandas 中创建新列有多种方法,其中一种是使用 for 循环。下面将详细讲解在 Pandas DataFrame 中使用 for 循环创建新列的步骤和示例。

步骤

  1. 导入 Pandas 模块并读取数据。
import pandas as pd

df = pd.read_csv('data.csv')
  1. 创建一个空列,并将其加入 DataFrame 中。
df['new_col_name'] = ''
  1. 使用 for 循环迭代 DataFrame 中某一列的每个值并对其进行操作,将结果赋值给新创建的列。
for i in range(len(df)):
    df.loc[i, 'new_col_name'] = # 操作结果
  1. 查看新创建的列是否添加成功。
print(df.head())

示例

下面的示例将展示如何将 DataFrame 中的一个列中的每个元素加上一个常数值,并将结果存储在一个新的列中。假设数据集中包含三列数据:’name’、’age’、’salary’。

import pandas as pd

# 读取数据
df = pd.read_csv('data.csv')

# 创建空列
df['adjusted_salary'] = ''

# 使用 for 循环计算新的薪水,并存储到新的列中
for i in range(len(df)):
    df.loc[i, 'adjusted_salary'] = df.loc[i, 'salary'] + 5000

# 查看新创建的列
print(df.head())

输出结果:

   name  age  salary  adjusted_salary
0   Tom   28   50000            55000
1   Jim   32   60000            65000
2  Lily   25   45000            50000
3  Lucy   31   55000            60000
4  Jack   29   75000            80000

可以看到,新创建的列’adjusted_salary’中的每个值都是将原始的薪水值加上了5000,并存储到了新创建的列中。