pd.options.display.float_format = '{:.4f}'.format
É possível dividir o carregamento de arquivos grandes em pedaços (chunks) da seguinte forma:
nomes_features = ['sensor_id', 'datetime', 'lane', 'max_speed', 'speed', 'size', 'vehicle_type', 'plate_hash']
tipos_features={'sensor_id':object, 'datetime':object, 'lane':int, 'max_speed':int, 'speed':float, 'size':float, 'vehicle_type':int, 'plate_hash':object}
df = pd.read_csv('dados.csv', chunksize=500000, header=None, names=nomes_features, dtype=tipos_features)
for chunk in df:
df_parcial = pd.DataFrame(chunk)
Onde chunksize é o número de linhas carregadas a cada interação.
Também é sugerido que você ao carregar já diga de antemão quais são os tipos das features através do parâmetro dtype.
Isso evita que o Pandas perca tempo tentando adivinhar o tipo de cada feature de forma automática.