假设我有20组数据,我将其读取为df1,df2,df3,df4 ... df20。 (还有其他读取或存储数据框的智能方式吗?)
我的功能如下:
def CalculateEMA(x,window):
sma = x.rolling(window, min_periods=window).mean()[:window]
rest = x[window:]
EMA_window=(pd.concat([sma, rest]).ewm(span=window,adjust=False).mean()).sum())
return EMA_window
我希望返回所有20个数据框的EMA并存储为 X 。 所以我的最终输出将是X = [x1,x2,x3,x,x,x,x,x ... x20]。其中 x1 是df1的EMA功能的总和,而 x2 是第二个数据集df2,依此类推。
答案 0 :(得分:0)
如果将它们存储在列表中,则可以遍历整个数据框:
X=list()
list_df = [df1,df2,...,df20]
for df in list_df:
X.append(CalculateEMA(df,window))
答案 1 :(得分:0)
要读取文件夹中的所有csv文件,可以使用os函数
import os
path_to_dir='<your path>'
filenames = os.listdir(path_to_dir)
csvs=[f for f in filenames if f.endswith('csv')]
out=[]
for path in csvs:
df=pd.read_csv(path)
out.append(CalculateEMA(df,window))