В фильтре полярностей Python и агрегировании списковPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 В фильтре полярностей Python и агрегировании списков

Сообщение Anonymous »

У меня есть фрейм данных со строковым представлением json:

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

df = pl.DataFrame({
"json": [
'{"x":[0,1,2,3], "y":[10,20,30,40]}',
'{"x":[0,1,2,3], "y":[10,20,30,40]}',
'{"x":[0,1,2,3], "y":[10,20,30,40]}'
]
})

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

shape: (3, 1)
┌───────────────────────────────────┐
│ json                              │
│ ---                               │
│ str                               │
╞═══════════════════════════════════╡
│ {"x":[0,1,2,3], "y":[10,20,30,40… │
│ {"x":[0,1,2,3], "y":[10,20,30,40… │
│ {"x":[0,1,2,3], "y":[10,20,30,40… │
└───────────────────────────────────┘
Теперь я хотел бы вычислить среднее для y, где x > 0 и x dict, а затем создайте фрейм данных, который фильтруется по x.

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

# import ast
df = df.with_columns(
pl.col('json').map_elements(lambda x: pl.DataFrame(ast.literal_eval(x)).filter((pl.col('x') < 3) & (pl.col('x') > 0))['y'].mean())
)

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

shape: (3, 1)
┌──────┐
│ json │
│ ---  │
│ f64  │
╞══════╡
│ 25.0 │
│ 25.0 │
│ 25.0 │
└──────┘
Это работает нормально, но для больших наборов данных функции Apply значительно замедляют процесс.
Есть ли более элегантный и быстрый способ сделать это?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Google Python API для тегов списков. Возвращение 400 Недопустимого имени тега в фильтре
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Расхождения в агрегировании данных о калориях с использованием HealthConnect API
    Anonymous » » в форуме Android
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Преобразовать _id (ObjectId) в строку в агрегировании для поиска Spring boot
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Добавьте столбец даты для каждого файла с помощью Polars при агрегировании нескольких файлов Parquet.
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Список списков списков на карте плоской карты списков
    Anonymous » » в форуме JAVA
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous

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