来自带两个主列表的for循环的串联数据帧

时间:2018-12-12 19:42:06

标签: python python-3.x

我正在尝试创建一个最终的数据帧,该数据帧是由两个列表生成的数据帧的串联。

我的代码在这里:

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中的每个元素创建一个包含串联数据帧的最终数据帧。

0 个答案:

没有答案