Явное приведение ленивого кадра невозможно из-за несоответствия типов?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Явное приведение ленивого кадра невозможно из-за несоответствия типов?

Сообщение Anonymous »

Я использую поляры всего несколько месяцев (исходя из pandas), так что простите меня, если я неправильно интерпретирую :)
Я хочу прочитать много файлов паркета, объединить их в один фрейм данных а затем записать это на диск. Поскольку в некоторых файлах есть столбцы неправильного типа, я пытаюсь выполнить явное приведение

Код: Выделить всё

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')
Но я получаю SchemaError: несоответствие типа данных для столбца Rain_rate: ожидаемо: двоичный, найдено: f64.
нетерпеливая версия работает без проблем

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»