gpt4 book ai didi

python - 如何创建一个迭代列表并同时在数据框中创建新列的函数?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:37 25 4
gpt4 key购买 nike

我想创建一个函数,该函数返回包含不同窗口的移动平均线的多个列。但我只得到一列返回。

这是我尝试过的:

[3] data = pd.read_csv('data.csv')
[4] data.head()
[4] close
0 126.70
1 127.30
2 127.38
3 128.44
4 128.77
[5] li = range(2,101)
[6] def builder(data):
for n in li:
data[n] = data.close.rolling(window=n).mean().shift()
return data
[7] test = builder(data)
[8] test.head()
[8] close 2
0 126.70 NaN
1 127.30 NaN
2 127.38 127.00
3 128.44 127.34
4 128.77 127.91

为什么我的函数不返回所有移动平均线(2 到 100)?

最佳答案

您遇到缩进问题,因为您的返回位于循环内部,并且函数在第一次迭代后返回。将其更改为:

def builder(data):
for n in li:
data[n] = data.close.rolling(window=n).mean().shift()
return data

关于python - 如何创建一个迭代列表并同时在数据框中创建新列的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57844567/

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