С помощью данного кода я хочу создать новые столбцы для каждого столбца, выбранного pl.DATETIME_DTYPES с извлеченным годом.
import polars as pl
data = {"col1": ['2020/01/01', '2020/02/01'], "col2": ['2020/01/01', '2020/02/01']}
df = pl.DataFrame(data, schema={"col1": pl.String, "col2": pl.String})
df = df.with_columns(
pl.col('col1').str.to_datetime(),
pl.col('col2').str.to_datetime()
)
df.with_columns(
pl.col(pl.DATETIME_DTYPES).dt.year()
)
┌──────┬──────┐
│ col1 ┆ col2 │
│ --- ┆ --- │
│ i32 ┆ i32 │
╞══════╪══════╡
│ 2020 ┆ 2020 │
│ 2020 ┆ 2020 │
└──────┴──────┘
Для одного столбца я бы применил .alias(), но что делать с потенциально n новыми столбцами? Любой общий способ?
Например, если я хочу добавить суффикс к существующему имени.
┌─────────────────────┬─────────────────────┬───────────┬───────────┐
│ col1 ┆ col2 ┆ col1_year ┆ col2_year │
│ --- ┆ --- ┆ --- ┆ --- │
│ datetime[μs] ┆ datetime[μs] ┆ i32 ┆ i32 │
╞═════════════════════╪═════════════════════╪═══════════╪═══════════╡
│ 2020-01-01 00:00:00 ┆ 2020-01-01 00:00:00 ┆ 2020 ┆ 2020 │
│ 2020-02-01 00:00:00 ┆ 2020-02-01 00:00:00 ┆ 2020 ┆ 2020 │
└─────────────────────┴─────────────────────┴───────────┴───────────┘
Подробнее здесь: https://stackoverflow.com/questions/779 ... ew-columns