snowflake.snowpark.Column.in_¶
- Column.in_(*vals: Union[None, bool, int, float, str, bytearray, Decimal, date, datetime, time, bytes, NaTType, float64, list, tuple, dict, Iterable[Union[None, bool, int, float, str, bytearray, Decimal, date, datetime, time, bytes, NaTType, float64, list, tuple, dict]], DataFrame]) Column [source] (https://github.com/snowflakedb/snowpark-python/blob/v1.26.0/snowpark-python/src/snowflake/snowpark/column.py#L594-L714)¶
Returns a conditional expression that you can pass to the
DataFrame.filter()
or whereDataFrame.where()
to perform the equivalent of a WHERE … IN query with a specified list of values. You can also pass this to aDataFrame.select()
call.The expression evaluates to true if the value in the column is one of the values in a specified sequence.
For example, the following code returns a DataFrame that contains the rows where the column “a” contains the value 1, 2, or 3. This is equivalent to
SELECT * FROM table WHERE a IN (1, 2, 3)
.Examples:
>>> from snowflake.snowpark.functions import lit >>> df = session.create_dataframe([[1, "x"], [2, "y"] ,[4, "z"]], schema=["a", "b"]) >>> # Basic example >>> df.filter(df["a"].in_(lit(1), lit(2), lit(3))).collect() [Row(A=1, B='x'), Row(A=2, B='y')] >>> # Check in membership for a DataFrame that has a single column >>> df_for_in = session.create_dataframe([[1], [2] ,[3]], schema=["col1"]) >>> df.filter(df["a"].in_(df_for_in)).sort(df["a"].asc()).collect() [Row(A=1, B='x'), Row(A=2, B='y')] >>> # Use in with a select method call >>> df.select(df["a"].in_(lit(1), lit(2), lit(3)).alias("is_in_list")).collect() [Row(IS_IN_LIST=True), Row(IS_IN_LIST=True), Row(IS_IN_LIST=False)]
- Parameters:
vals – The values, or a
DataFrame
instance to use to check for membership against this column.