Wie erhalten neue Spalten in Polaren ihre Typen, wenn sie .when.then verwenden?Python

Python-Programme
Anonymous
 Wie erhalten neue Spalten in Polaren ihre Typen, wenn sie .when.then verwenden?

Post by Anonymous »

Neu bei Polars, mit der neuesten Version 0.18.2
Ich möchte mit pl.when.then.otherwise eine neue Spalte zu einem Datenrahmen hinzufügen, aber ich bin verwirrt, wenn die neue Spalte den Typ einer vorhandenen Spalte „erbt“ und wenn nicht.
Ein Beispieldatenrahmen:

Code: Select all

import polars as pl
df = pl.DataFrame({"a": ["x", "y"], "b": [1, 2]}, schema={"a": pl.String, "b": pl.String})
df
Out:
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ u8  │
╞═════╪═════╡
│ x   ┆ 1   │
│ y   ┆ 2   │
└─────┴─────┘
Hier erhält die neue Spalte den gleichen Typ (und Namen) wie Spalte b:

Code: Select all

df.with_columns(
pl.when(pl.col("a") == "x")
.then(pl.col("b"))
.otherwise(5)
)
Out:
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ u8  │
╞═════╪═════╡
│ x   ┆ 1   │
│ y   ┆ 5   │
└─────┴─────┘
Wenn ich noch ein when.then hinzufüge, erhält die neue Spalte einen anderen Typ:

Code: Select all

df.with_columns(
pl.when(pl.col("a") == "x")
.then(pl.col("b"))
.when(pl.col("a") == "y")
.then(0)
.otherwise(5)
)
Out:
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ i32 │ #

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post