数日前にこの問題が発生しました!多くの詳細を提供していないため、これが特定のケースで役立つかどうかはわかりませんが、私の状況は「大きな」データセットでオフラインで作業することでした。データは、エネルギーメーターから20GBのgzip圧縮CSVファイルとして取得され、数秒間隔で時系列データが取得されました。
ファイルIO: 
data_root = r"/media/usr/USB STICK"
fname = r"meters001-050-timestamps.csv.gz"
this_file = os.path.join(data_root,fname)
assert os.path.exists(this_file), this_file
this_file
gzipファイル上にチャンクイテレータを直接作成します(解凍しないでください!)
cols_to_keep = [0,1,2,3,7]
column_names = ['METERID','TSTAMP','ENERGY','POWER_ALL','ENERGY_OUT',]
parse_dates = ['TSTAMP']
dtype={'METERID': np.int32, 
       'ENERGY': np.int32,
       'POWER_ALL': np.int32,
       'ENERGY_OUT': np.int32,
      }
df_iterator = pd.read_csv(this_file, 
                        skiprows=0, 
                        compression='gzip',
                        chunksize=1000000, 
                        usecols=cols_to_keep,
                        delimiter=";",
                        header=None,
                        names = column_names,
                      dtype=dtype,
                     parse_dates=parse_dates,
                     index_col=1,
                     )
チャンクを反復処理する
new_df = pd.DataFrame()
count = 0
for df in df_iterator:
    chunk_df_15min = df.resample('15T').first()
    #chunk_df_30min = df.resample('30T').first()
    #chunk_df_hourly = df.resample('H').first()
    this_df = chunk_df_15min
    this_df = this_df.pipe(lambda x: x[x.METERID == 1])
    #print("chunk",i)
    new_df = pd.concat([new_df,chunk_df_15min])
    print("chunk",count, len(chunk_df_15min), 'rows added')
    #print("chunk",i, len(temp_df),'rows added')
    #break
    count += 1
チャンクループ内では、時間通りにフィルタリングとリサンプリングを行っています。これを行うことで、オフラインデータをさらに調査するために、サイズを20GBから数百MBのHDF5に削減しました。