关键词

在Pandas DataFrame中基于现有的列创建一个新的列

Pandas DataFrame中基于现有的列创建一个新的列,可以通过多种方式实现,常见的方法包括:

  1. 使用apply函数
  2. 使用assign函数
  3. 直接通过索引创建新列

下面分别介绍三种方法的详细步骤和实例说明。

使用apply函数

apply函数可以对DataFrame的某一列进行遍历和操作,具体步骤如下:

  1. 定义一个操作函数。
  2. 使用apply函数将操作函数应用于DataFrame的某一列,得到一个Series对象。
  3. 将Series对象作为新列添加到DataFrame中。

实例:

假设有如下的DataFrame:

import pandas as pd

df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)

输出:

   A  B
0  1  4
1  2  5
2  3  6

现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:

  1. 定义操作函数sumAB:
def sumAB(row):
    return row['A'] + row['B']
  1. 使用apply函数将操作函数应用于DataFrame的A列和B列:
df['C'] = df.apply(sumAB, axis=1)
  1. 查看结果:
print(df)

输出:

   A  B   C
0  1  4   5
1  2  5   7
2  3  6   9

使用assign函数

assign函数可以在不修改原始DataFrame的情况下添加一个新列,具体步骤如下:

  1. 定义一个操作函数。
  2. 使用assign函数添加新列,将操作函数应用于DataFrame的某一列。

实例:

继续假设有如下的DataFrame:

import pandas as pd

df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)

输出:

   A  B
0  1  4
1  2  5
2  3  6

现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:

  1. 定义操作函数sumAB:
def sumAB(df):
    return df['A'] + df['B']

  1. 使用assign函数添加新列C,将操作函数应用于DataFrame的A列和B列:
df = df.assign(C=sumAB)
  1. 查看结果:
print(df)

输出:

   A  B  C
0  1  4  5
1  2  5  7
2  3  6  9

直接通过索引创建新列

可以直接通过索引向DataFrame中添加新列,具体步骤如下:

  1. 定义一个操作函数。
  2. 通过DataFrame的索引方式添加新列并将操作函数应用于DataFrame的某一列。

实例:

继续假设有如下的DataFrame:

import pandas as pd

df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
print(df)

输出:

   A  B
0  1  4
1  2  5
2  3  6

现要在该DataFrame中添加一列C,其值为A列与B列之和,操作步骤如下:

  1. 定义操作函数sumAB:
def sumAB(df):
    return df['A'] + df['B']
  1. 直接通过索引添加新列C,将操作函数应用于DataFrame的A列和B列:
df['C'] = sumAB(df)
  1. 查看结果:
print(df)

输出:

   A  B  C
0  1  4  5
1  2  5  7
2  3  6  9

本文链接:http://task.lmcjl.com/news/14588.html

展开阅读全文