Подсчитайте положительные и отрицательные значения в строкахPython

Программы на Python
Ответить
Anonymous
 Подсчитайте положительные и отрицательные значения в строках

Сообщение Anonymous »

У меня есть следующий df:
import polars as pl

data_frame = pl.from_repr("""
┌──────┬──────┬──────┬──────┐
│ col0 ┆ col1 ┆ col2 ┆ col3 │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 ┆ i64 │
╞══════╪══════╪══════╪══════╡
│ 1 ┆ 1 ┆ -1 ┆ 1 │
│ -1 ┆ 1 ┆ -1 ┆ -1 │
│ 1 ┆ 1 ┆ -1 ┆ -1 │
│ -1 ┆ 1 ┆ -1 ┆ 1 │
│ 1 ┆ 1 ┆ -1 ┆ 1 │
└──────┴──────┴──────┴──────┘
""")

Мне нужно посчитать значения 1 и -1 по строкам.
А именно, мне нужен новый df (или новые столбцы в старом):
shape: (5, 2)
┌─────┬─────┐
│ pos ┆ neg │
│ --- ┆ --- │
│ u32 ┆ u32 │
╞═════╪═════╡
│ 3 ┆ 1 │
│ 1 ┆ 3 │
│ 2 ┆ 2 │
│ 2 ┆ 2 │
│ 3 ┆ 1 │
└─────┴─────┘

Я решил на примере из руководства пользователя, но не понимаю, как это работает:
data_frame.select(
pl.fold(acc=pl.lit(0), function=lambda acc, x: acc + x, exprs=pl.col("*") > 0).alias("sum")
)

# shape: (5, 1)
# ┌─────┐
# │ pos │
# │ --- │
# │ i32 │
# ╞═════╡
# │ 3 │
# │ 1 │
# │ 2 │
# │ 2 │
# │ 3 │
# └─────┘


Подробнее здесь: https://stackoverflow.com/questions/732 ... n-the-rows
Ответить

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

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

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

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

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