Медленная производительность Python Polars при применении pl.element().filterPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Медленная производительность Python Polars при применении pl.element().filter

Сообщение Anonymous »

У меня есть полярный df со столбцом списков строковых элементов.
В этих списках есть пустые элементы, которые мне нужно отфильтровать.
Я использовал следующий метод:

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

df_main = df_main.with_columns(
df_main['ColumnList'].list.eval(
pl.element().filter(
pl.element() != ""))
.alias('ColumnList')
)
Однако это занимает много времени. (Около 12 секунд)
Еще один медленный шаг — удалить пробелы из каждого элемента в списках (около 10 секунд):

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

df_main = df_main.with_columns(df_main['ColumnList'].list.eval(pl.element().str.strip_chars()).alias('ColumnList') )
Я пытался использовать «map_elements» с пользовательской функцией для выполнения обеих необходимых функций, но это заняло больше минуты:

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

def FilterEmptyAndTrim(inList):
lst1 = list(filter(lambda x : x != '' , inList)) # filter out empty items in the list
return [s.strip() for s in lst1] # trim the usefull item in the list
df_main = df_main.with_columns(
(df_main['ColumnList'].map_elements(FilterEmptyAndTrim)).alias('ColumnList'))
Я использовал ту же самую пользовательскую функцию в методе преобразования панд, но это заняло всего 4 секунды.
Вот пример данных, подобных моим данным:< /p>

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

import polars as pl
df_main = pl.DataFrame({
"ColumnList": [
['a ' , 'b' , '' ,' c',  'd'  ],
['a ' ,  '' ,' b', '' ,  'd'  ],
['a ' ,' b' , '' ,' c',  'd'  ],
['a ' , 'b' ,' b', '' , ' d ' ],]
})
df_main
Есть ли способ улучшить производительность?
Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/772 ... ent-filter
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Struts2 и вызывают ошибку
    Anonymous » » в форуме JAVA
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Razor jQuery Select Filter Filter
    Anonymous » » в форуме Html
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Razor jQuery Select Filter Filter
    Anonymous » » в форуме Jquery
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Razor jQuery Select Filter Filter
    Anonymous » » в форуме Javascript
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Razor jQuery Select Filter Filter
    Anonymous » » в форуме Html
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

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