Некоторые столбцы содержат очень длинный текст, который необходимо обрезать до заданного количества символов, иначе загрузка завершится неудачно.
Как лучше всего изменить объект LazyFrame, созданный scan_csv, чтобы все столбцы pl.String имели не более определенное количество символов?
Я знаю, что изменяемые столбцы можно определить, проверив атрибут схемы.
Пример данных:
При наличии некоторых ложных данных:
Код: Выделить всё
# pretend this comes from scan_csv()
example = pl.LazyFrame(
{
"big_column": ["a" * 1000],
"another_big_column": ["b" * 1000],
"small_column": ["c"],
"integer_column": [1]
},
schema = {
"big_column": pl.String,
"another_big_column": pl.String,
"small_column": pl.String,
"integer_column": pl.Int8
}
)
Код: Выделить всё
for col, dtype in example.schema.items():
if dtype is pl.String:
# do something with col
Что должен делать # с частью col в приведенном выше примере, чтобы достичь желаемого без загрузки всего LazyFrame в память?
Можно ли вообще выполнить такую модификацию на месте?>
Подробнее здесь: https://stackoverflow.com/questions/759 ... f-characte
Мобильная версия