[新闻联播] 使用 transform() 将一个函数应用到 Pandas DataFrame 列[每日解析]

[新闻联播] 使用 transform() 将一个函数应用到 Pandas DataFrame 列[每日解析]

已邀请:
transform() 方法可以对单个列和整个 DataFrame 进行操作,该方法将单个列作为 Pandas Series 传递给自定义函数。在使用时,transform() 方法会以 Series 的形式接收。
语法:
Dataframe.transform(customFunction, axis=0)
参数对应于
(1)customFunction:要应用于 DataFrame 或 Series 的函数。
(2)axis:0 指的是行,1 指的是列,函数需要应用在行或列上。

让我们看看如何使用 transform() 方法将一个函数应用到一个 DataFrame 列。
应用函数到整个 DataFrame 的示例代码如下所示。
import pandas as pd
import numpy as np
df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C'])
print (df)

def add_2(x):
return x+2

df = df.transform(add_2)
print(df)
输出:

A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 4 5
1 6 7 8
2 9 10 11
如上所示,函数可以应用到整个 DataFrame。

将函数应用于单列
让我们来看看当函数沿单列应用时会发生什么。

import pandas as pd
import numpy as np

df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C'])
print (df)

def add_2(x):
return x+2

df['A'] = df['A'].transform(add_2)
print(df)
输出:

A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 2 3
1 6 5 6
2 9 8 9
相关文章 - Pan

要回复问题请先登录注册