
Я хочу прочитать много файлов паркета, объединить их в один фрейм данных а затем записать это на диск. Поскольку в некоторых файлах есть столбцы неправильного типа, я пытаюсь выполнить явное приведение
Код: Выделить всё
df = pl.scan_parquet('../output/extraction/part_*.parquet')
schema = {
'station_id': pl.String,
'datetime_utc': pl.Datetime(time_unit='ns', time_zone='UTC'),
'rain_rate': pl.Float64,
}
df = df.with_columns([
pl.col(name).cast(dtype, strict=False) for name, dtype in schema.items()
])
df.sink_parquet('../output/extraction/merged.parquet')
нетерпеливая версия работает без проблем
Код: Выделить всё
dfs = []
for file in glob('../output/extraction/part_*.parquet'):
df = pl.read_parquet(file)
df = df.with_columns([
pl.col(name).cast(dtype, strict=False) for name, dtype in schema.items()
])
dfs.append(df)
df = pl.concat(dfs)
df.write_parquet('../output/extraction/merged.parquet')
Нет ли способа сделать то же самое с ленивыми кадрами данных?
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-mismatch