Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add a single string value as a new column to polars DataFrame [duplicate]

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 polars as pl

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

df_pd = df.to_pandas()
df_pd['new_column'] = 'some text'

With expected content of final dataframe:

existing_column new_column
1 some_text
2 some_text
3 some_text
like image 989
eoia Avatar asked Nov 26 '25 15:11

eoia


2 Answers

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.

like image 137
Luca Avatar answered Nov 28 '25 03:11

Luca


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.

like image 42
Hericks Avatar answered Nov 28 '25 05:11

Hericks



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!