Path: blob/main/docs/source/src/python/user-guide/expressions/column-selections.py
7890 views
# --8<-- [start:selectors_df]1from datetime import date, datetime23import polars as pl45df = pl.DataFrame(6{7"id": [9, 4, 2],8"place": ["Mars", "Earth", "Saturn"],9"date": pl.date_range(date(2022, 1, 1), date(2022, 1, 3), "1d", eager=True),10"sales": [33.4, 2142134.1, 44.7],11"has_people": [False, True, False],12"logged_at": pl.datetime_range(13datetime(2022, 12, 1), datetime(2022, 12, 1, 0, 0, 2), "1s", eager=True14),15}16).with_row_index("index")17print(df)18# --8<-- [end:selectors_df]1920# --8<-- [start:all]21out = df.select(pl.col("*"))2223# Is equivalent to24out = df.select(pl.all())25print(out)26# --8<-- [end:all]2728# --8<-- [start:exclude]29out = df.select(pl.col("*").exclude("logged_at", "index"))30print(out)31# --8<-- [end:exclude]3233# --8<-- [start:expansion_by_names]34out = df.select(pl.col("date", "logged_at").dt.to_string("%Y-%h-%d"))35print(out)36# --8<-- [end:expansion_by_names]3738# --8<-- [start:expansion_by_regex]39out = df.select(pl.col("^.*(as|sa).*$"))40print(out)41# --8<-- [end:expansion_by_regex]4243# --8<-- [start:expansion_by_dtype]44out = df.select(pl.col(pl.Int64, pl.UInt32, pl.Boolean).n_unique())45print(out)46# --8<-- [end:expansion_by_dtype]4748# --8<-- [start:selectors_intro]49import polars.selectors as cs5051out = df.select(cs.integer(), cs.string())52print(out)53# --8<-- [end:selectors_intro]5455# --8<-- [start:selectors_diff]56out = df.select(cs.numeric() - cs.first())57print(out)58# --8<-- [end:selectors_diff]5960# --8<-- [start:selectors_union]61out = df.select(cs.by_name("index") | ~cs.numeric())62print(out)63# --8<-- [end:selectors_union]6465# --8<-- [start:selectors_by_name]66out = df.select(cs.contains("index"), cs.matches(".*_.*"))67print(out)68# --8<-- [end:selectors_by_name]6970# --8<-- [start:selectors_to_expr]71out = df.select(cs.temporal().as_expr().dt.to_string("%Y-%h-%d"))72print(out)73# --8<-- [end:selectors_to_expr]7475# --8<-- [start:selectors_is_selector_utility]76from polars.selectors import is_selector7778out = cs.numeric()79print(is_selector(out))8081out = cs.boolean() | cs.numeric()82print(is_selector(out))8384out = cs.numeric() + pl.lit(123)85print(is_selector(out))86# --8<-- [end:selectors_is_selector_utility]8788# --8<-- [start:selectors_colnames_utility]89from polars.selectors import expand_selector9091out = cs.temporal()92print(expand_selector(df, out))9394out = ~(cs.temporal() | cs.numeric())95print(expand_selector(df, out))96# --8<-- [end:selectors_colnames_utility]979899