我正在尝试创建一个最终的数据帧,该数据帧是由两个列表生成的数据帧的串联。
我的代码在这里:
desc_list = df_grouped['Medicare_Desc'].unique()
brand_list = df_grouped['RptBrand'].unique()
dfs={}
for b,d in [(b,d) for b in brand_list for d in desc_list]:
series = df_grouped[(df_grouped['RptBrand'] == b) &
(df_grouped['Medicare_Desc']== d)]
series_trend = series.filter(items=['UtilPer1000'])
try:
hp_cycle, hp_trend = sm.tsa.filters.hpfilter(series_trend, lamb=100)
hp_trend.rename(columns = {'UtilPer1000': 'Trend'}, inplace=True)
rolling_avg = hp_trend.rolling(12).mean()
rolling_avg.rename(columns = {'Trend': 'Rolling_avg'}, inplace=True)
except:
pass
series = series.drop(['UtilPer1000', 'RptBrand'], axis=1)
dfs[b] = pd.concat([series, hp_trend, rolling_avg], axis=1)
data=pd.concat(dfs, axis=0)
最终结果是一个串联的数据框,其中包含brand_list中的所有元素,但仅包含desc_list中的最后一个元素。我不知道如何为brand_list中的每个元素和desc_list中的每个元素创建一个包含串联数据帧的最终数据帧。