eoia
eoia

Reputation: 173

Add new column to polars DataFrame

Being a new user to polars coming from pandas, I have searched polars GitHub pages, user guide, stackoverflow and discord channel on how to add a new column to a polars dataframe. I have only found polars examples on how to add new columns based on existing ones.

How should the following pandas example be converted to polars syntax?

import pandas as pd

df = pd.DataFrame({'existing_column': [1, 2, 3]})

df['new_column'] = "some text"

With expected content of final dataframe:

existing_column new_column
1 some_text
2 some_text
3 some_text

Upvotes: 17

Views: 47049

Answers (2)

Hericks
Hericks

Reputation: 10464

Polars provides the user with pl.lit, which can be used within pl.DataFrame.with_columns to create a new column with a literal value (string, int, float).

df.with_columns(
    pl.lit("some_text").alias("new_column")
)

pl.Expr.alias is used to assign a name to the new column.

Upvotes: 5

Luca
Luca

Reputation: 1914

you can use with_columns and pl.lit to add a new column with Polars that is a constant and not based on existing columns.

You can use it for both text and numbers.

Here is an example:

df.with_columns(
    new_column = pl.lit('some_text')
)

The advantage of Polars is that all new columns added and all columns transformed within the same with_columns will be calculated in parallel.

Upvotes: 30

Related Questions