Полярные: проблема с небольшим количеством преобразованийPython

Программы на Python
Ответить
Anonymous
 Полярные: проблема с небольшим количеством преобразований

Сообщение Anonymous »

  • Что делать, если в приведенной выше операции я хочу разделить только столбцы a и c? Как я могу это сделать?
import polars as pl

df = pl.DataFrame({'a':[3,3,3],'b':[6,6,9], 'c':[6,6,9]})
df = df.with_columns(pl.all()/3.0)

Ожидаемый результат:
┌─────┬─────┬─────┐
│ a ┆ b ┆ c │
│ --- ┆ --- ┆ --- │
│ f64 ┆ i64 ┆ f64 │
╞═════╪═════╪═════╡
│ 1.0 ┆ 6 ┆ 2.0 │
│ 1.0 ┆ 6 ┆ 2.0 │
│ 1.0 ┆ 9 ┆ 3.0 │
└─────┴─────┴─────┘
  • Что я делаю неправильно при преобразовании ниже, поскольку получаю сообщение об ошибке:
import polars as pl
import pandas as pd
from datetime import datetime, timedelta, date

data = { 'last_seen': [5, 20, 3, 8, 12], 'dates': [date(2023, 6, 20), date(2023, 5, 15), date(2023, 6, 27), date(2023, 6, 19), date(2023, 6, 10)] }

df_polars = pl.DataFrame(data)

today = date(2023, 6, 30)

range_mask = ( (df_polars['last_seen'] >= -5) & ( (df_polars['last_seen'] < 15) | ( ( (df_polars['dates'] > today) & ((df_polars['dates'] - today).dt.total_days > (df_polars['last_seen'] - 15)) ) ) ) )

df_polars = df_polars.with_columns(pl.when(range_mask).then(True).otherwise(False)).alias('active')

# TypeError: cannot convert Python type 'method' to Int64


Подробнее здесь: https://stackoverflow.com/questions/765 ... formations
Ответить

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

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

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

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

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