尚方宝剑之说
您必须创建一个辅助系列,例如:s=df.index.to_series().diff().fillna(1).ne(1).cumsum()print(s)Index0 01 02 058 159 160 192 293 2然后您可以将每个组存储在字典中并调用字典的每个键来引用 df:d={f'df_{i}':g for i,g in df.groupby(s)}print(d['df_0'])print('\n')print(d['df_1'])print('\n')print(d['df_2']) Time DataIndex 0 6:00 A1 6:05 D2 6:10 B Time DataIndex 58 10:50 C59 10:55 A60 11:00 D Time DataIndex 92 13:40 A93 13:45 B另一种使用方式more_itertools:from more_itertools import consecutive_groupsindices=[[*i] for i in consecutive_groups(df.index)]#[[0, 1, 2], [58, 59, 60], [92, 93]]d2={f'df_{e}':df.loc[i] for e,i in enumerate(indices)}