Есть ли простой способ получить доступ к значению в структуре Polars?Python

Программы на Python
Гость
Есть ли простой способ получить доступ к значению в структуре Polars?

Сообщение Гость »


Основное использование value_counts в DataFrame — получение количества определенного значения.

Если у меня есть df, например:

DataFrame({"color": ["красный", "синий", "красный", "зеленый", "синий", "синий"]}) тогда, если мне нужен счетчик цвета = 'красный' в Pandas, я мог бы просто использовать:

df['color'].value_counts()['красный'] что ясно и очевидно.

В Polars функция value_counts() создает DF со столбцом значений структуры:

┌─────────────┐ │ цвет │ │ --- │ │ структура[2] │ ╞═════════════╡ │ {"зеленый",1} │ │ {"синий",3} │ │ {"красный", 2} │ └──────────────┘ который можно разделить на DF с отдельными столбцами, используя

counts = df.select(pl.col("color").value_counts()).unnest('color') а затем необходимое значение можно получить с помощью

counts.select(pl.col('count').filter(pl.col('color') == 'red')).item() аналогично group_by('color').len() можно использовать вместо value_counts

Все это кажется довольно сложным для такого частого требования. Есть ли более простой способ извлечения одного значения счетчика с помощью Polars и, в более общем смысле, для доступа к значениям структуры.

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