Reputation: 173
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
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
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