- Что делать, если в приведенной выше операции я хочу разделить только столбцы a и c? Как я могу это сделать?
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 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
Мобильная версия