pandas concat成功但停止循环后出现错误消息

时间:2017-02-08 15:54:28

标签: python pandas concat

我收到错误消息

ValueError: No objects to concatenate

使用pd.concat时,但是concat似乎是成功的,因为当我尝试打印生成的数据帧时,它成功完成但是错误消息终止了循环。

state_list = ['Colorado', 'Ilinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Michigan', 'Minnesota', 'Missouri', 'Nebraska',\
             'North Carolina', 'North Dakota', 'Ohio', 'Pennsylvania', 'South Dakota', 'Tennessee', 'Texas', 'Wisconsin']


    for state_name in state_list:
        ### DF1 is a dataframe unique to each state###
        condition_categories = (df1['description'].unique())
        cats = []
        for cat in condition_categories:
            category_df = df1[['week', 'value']].where(df1['description'] == cat).dropna()
            category_df = category_df.set_index('week')
            category_df = category_df.rename(columns={'value': str(cat)})
            category_df.week = dtype=np.int
            cats.append(category_df)
            #print(category_df)

        df = pd.concat(cats, axis =1) 
        print(df)

1 个答案:

答案 0 :(得分:1)

对不起,您的回复很晚。看起来“猫”列表存在一些问题。在外部for循环的迭代之一中为空。 您可以在条件线上方添加条件。如下所示,它可能会起作用。

if len(cats) > 0:
    df = pd.concat(cats, axis =1)
else:
    print("No records to concatinate")