小编Iqi*_*gai的帖子

Pandas 在多列上使用 apply 函数扩展

是否可以使用panda 的扩展函数使用window 对象的几列来计算多项式回归的系数?

我有一个数据框,它有两列,一个预测器和一个响应。我想使用熊猫的扩展()函数来计算每个扩展系列对的二阶多项式回归的相应系数。对于每一行,我想从应用于所有先前行的回归中获取更新的系数。

import pandas as pd
import numpy as np

def func1(df):
   # some processing
   return np.polyfit(df['Input'], df['Response'], 2)
   
def func2(x, y):
   # some processing
   return np.polyfit(x, y, 2)

np.random.seed(0)
df = pd.DataFrame(np.random.rand(10, 2).round(2), 
                  columns=['Input', 'Response'])

df[['Coef1', 'Coef2', 'Coef3']] = df.expanding(min_periods=3).apply(func)
Run Code Online (Sandbox Code Playgroud)

我希望输出如下所示:

>>> df

   Input Response Coef1  Coef2  Coef3
0  0.63  0.23     NaN    NaN    NaN
1  0.45  0.11     NaN    NaN    NaN
2  0.17  0.71     NaN    NaN    NaN
3  0.17  0.32     0.19   0.54   0.50
4  0.65  0.99     0.48   0.23 …
Run Code Online (Sandbox Code Playgroud)

python apply dataframe pandas multiple-input

5
推荐指数
1
解决办法
223
查看次数

标签 统计

apply ×1

dataframe ×1

multiple-input ×1

pandas ×1

python ×1