除值以外的子批次错误:无效语法

2024-09-30 10:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个问题有一些答案,但不幸的是,我无法让它们中的任何一个起作用。 我有一个循环,它将某些时间间隔绘制为子图,但由于数据清理而导致的某些时间间隔被删除。现在我想跳过这个时间间隔,继续正常工作

我试着这样做:

    except ValueError:
        continue

但我得到了无效的语法错误

原始代码:

dimenzion = math.ceil(np.sqrt(len(lista_start)))

fig, axes = plt.subplots(nrows=dimenzion,ncols=dimenzion, figsize=(25, 21), sharex=False)
sns.despine(left= True)
fig.suptitle('Clean data', y =1.01, fontsize = 21)


date = 0
i = 0
j = 0
while date <= len(lista_end)-1:
   df_date = df_clean[(df_clean['Time'] > pd.Timestamp(lista_start.loc[date][0])) & 
                      (df_clean['Time'] < pd.Timestamp(lista_end.loc[date][0]))]
   
   df_date = df_date.reset_index(drop = True)
 
   start = datetime.datetime.strftime(lista_start.loc[date][0], '%d.%m.%y')
   end = datetime.datetime.strftime(lista_end.loc[date][0], '%d.%m.%y')
   
   df_date.plot('Time', 'Mids Ply Fines B', figsize = (25,7), ax = axes[i,j], subplots = True)
   axes[i,j].set_title('{} - {}'.format(start, end))
   axes[i,j].get_xaxis().set_visible(False)
   
    
   j = j+1
   date = date + 1
   
   if j > dimenzion - 1:
       j = 0
       i = i+1  
           
   except ValueError:
       continue
   
   plt.setp(axes, yticks=[])
   plt.tight_layout() 

Tags: cleantruedfdatetimedate间隔time时间
1条回答
网友
1楼 · 发布于 2024-09-30 10:33:57

在Python中,except需要开始尝试-您需要告诉它哪个代码“部分”可能会生成要捕获的错误:

我不知道哪一行生成ValueError-但这应该足够了:

   try : 
      df_date = df_clean[(df_clean['Time'] > pd.Timestamp(lista_start.loc[date][0])) & 
                  (df_clean['Time'] < pd.Timestamp(lista_end.loc[date][0]))]

     df_date = df_date.reset_index(drop = True)

     start = datetime.datetime.strftime(lista_start.loc[date][0], '%d.%m.%y')
     end = datetime.datetime.strftime(lista_end.loc[date][0], '%d.%m.%y')

     df_date.plot('Time', 'Mids Ply Fines B', figsize = (25,7), ax = axes[i,j], subplots = True)
     axes[i,j].set_title('{} - {}'.format(start, end))
     axes[i,j].get_xaxis().set_visible(False)

     j = j+1
     date = date + 1

     if j > dimenzion - 1:
         j = 0
     i = i+1  
       
   except ValueError:
      continue

请注意,try和except之间的整个代码“section”是缩进的-这清楚地表明,在该部分的任何位置生成的任何ValueError异常都将导致创建continue

相关问题 更多 >

    热门问题