Python 循环成功,但在循环停止后出现错误消息

Python 循环成功,但在循环停止后出现错误消息,python,pandas,concat,Python,Pandas,Concat,我收到了错误信息 ValueError: No objects to concatenate 当使用pd.concat时,concat似乎是成功的,因为当我尝试打印结果数据帧时,它成功地打印了结果数据帧,但错误消息终止了循环 state_list = ['Colorado', 'Ilinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Michigan', 'Minnesota', 'Missouri', 'Nebraska',\

我收到了错误信息

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)

很抱歉反应太晚。看起来猫的名单有点问题。它在外部for循环的一个迭代中为空。 您可以在凝聚线上方添加一个条件。如下图所示,它可能会起作用

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

您确定在进行选择时没有空数据框吗?尝试打印第一个选择的返回值的标题。我们刚刚打印了df1的标题,可以确认它不是空的DF。那么类别_DF的标题呢?我们也这样做了,并且正确地打印了每个系列。奇怪的是,当我运行手动输入一个状态的代码时,它似乎可以工作,但当使用for循环时会发生错误,而不是外部for循环与内部for循环没有关系,我会在连接之前查看列表,看看是否在那里发现错误。祝你好运