Я хочу прочитать множество файлов паркета, объединить их в один фрейм данных и затем записать это на диск. Поскольку в некоторых файлах есть столбцы неправильного типа, я пытаюсь выполнить явное приведение
Код: Выделить всё
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
Мобильная версия