groupby/apply 操作有标准名称吗?

问题描述

数据

CategoricalVariable CV1 : X1,X2,X3...Xn

数值变量 NV1 : 1-1000

时间:0-100

C1 时间 NV1
X1 0 1
X1 1 100
X2 0 200
X2 1 500

操作 1:按分类变量拆分

DataFrame1

C1 时间 NV1
X1 0 1
X1 1 100

数据帧2

C1 时间 NV1
X2 0 200
X2 1 500

操作二:应用自定义函数

import numpy as np 

def custom_func (anyarray):
    last_element_in_array = anyarray [-1] 
    first_element_in_array = anyarray [0] 
    return  np.sin (last_element_in_array) * np.ln (first_element_in_array)
     
custom_func (DataFrame1 ['NV1'].values) # np.sin (100) * np.ln (1)

操作 3:重新组合 DataFrame1 和 DataFrame2

C1 NV1
X2 自定义函数输出:np.sin (100) * np.ln (1)
X2 自定义函数输出:np.sin (500) * np.ln (200)

解决方法

这是一个 groupby 操作:

data.groupby('C1')['NV1'].apply(custom_func)