2
目标:将N个int列表传递给函数,并将这些int用于1)。在熊猫数据框中创建并命名N列; 2)。使用这些整数作为回溯期来计算滚动平均值。在for循环中创建并命名大熊猫系列
这里是该函数的代码(与重复性数据拉):收到
import pandas as pd
import pandas_datareader as web
test_df = web.DataReader('GDP', data_source = 'fred')
def sma(df, sma_lookbacks = [1,2]):
import pandas as pd
df = pd.DataFrame(df)
df = df.dropna()
for lookback in sma_lookbacks:
df[str('SMA' + str(lookback))] = df.rolling(window = lookback).mean()
return df.tail()
sma(test_df)
错误:
ValueError: Wrong number of items passed 2, placement implies 1
难道我在这里有一个逻辑问题?我相信在for循环中它应该按顺序传递整数,所以我不太明白它是如何一次传递多个值的。因此,我不确定如何解决问题。
根据这篇文章,当您同时将多个值传递给只能取一个值的容器时,会引发此错误。不应该for循环地址? ValueError: Wrong number of items passed - Meaning and suggestions?