gpt4 book ai didi

python - 从函数的输出添加新列到 Pandas Dataframe

转载 作者:行者123 更新时间:2023-11-30 22:13:56 24 4
gpt4 key购买 nike

我编写了函数来估计简单线性回归的参数。该函数产生多个输出。函数输入是两个列表。另外,我有初始 DataFrame df,从中派生了两个列表。

我想将函数的一些输出添加到初始 DataFrame 作为新列,或者在外部添加新的列表来运行。

例如:

def predict(X,Y):
beta1 = sum([(X[i] - mean_X)*(Y[i] - mean_Y) for i in range(len(X))]) / sum([(X[i] - mean_X)**2 for i in range(len(X))])
beta0 = mean_Y - beta1 * mean_X

y_hat = [beta0 + beta1*X[i] for i in range(len(X))]

return df.assign(prediction = y_hat)

这里,mean_X 和mean_Y 分别是列表X 和列表Y 的样本平均值。

我还尝试 numpy.insert() 将 y_hat 添加到不是初始 DataFrame 中,而是添加到我转换为 numpy 数组的 X 中。

我没有成功达到预期的结果,有人可以帮助我吗?

最佳答案

据我了解您的问题,您想在现有/新列中使用您的函数。如果是这种情况,这是一种方法。如果没有,请告诉我,我将删除答案。谢谢

import pandas as pd

def Somefunction(x, y):
a = 2 *x
b = 3 * y
return pd.Series([a, b], index= ['YourColumn1', 'YourColumn2'])





df = pd.read_csv('YourFile')

df = df.join(df.apply(lambda x:
Somefunction(x['ColumnYouWantToApplyFunctionReturnValue a'],
x['ColumnYouWantToApplyFunctionReturnValue B']), axis=1))

关于python - 从函数的输出添加新列到 Pandas Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50643005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com