PNDSPY1209

Message Pandas < pandas.core.series.Series.sort_values > has a partial mapping with a few scenarios not supported in Snowpark.

Category Warning

Description

This issue appears when the SMA detects the use of a pandas element that has a direct equivalent in Snowpark pandas, but some scenarios might behave differently than pandas.

Missing or Unsupported Parameters: key, kind is ignored

Reason: The kind parameter has no effect. Snowpark pandas always uses a stable sort algorithm, while pandas by default does not.

Scenario

A method with a few scenarios that aren’t supported in Snowpark.

Input

The following example shows a method with a few unsupported scenarios in Snowpark.

import pandas as pd

s = pd.Series([1, 2, 3, 4, 5])
result = s.sort_values()

Output

The SMA adds the EWI PNDSPY1209 to the output code to let you know that this element has a few scenarios that aren’t supported in Snowpark.

import snowflake.snowpark.modin.pandas as pd

#EWI: PNDSPY1209 => pandas.core.series.Series.sort_values has a partial mapping, with few scenarios not supported. Check Snowpark pandas documentation for more detail.
s = pd.Series([1, 2, 3, 4, 5])
result = s.sort_values()

The following parameters are not supported in Snowpark pandas: key, kind is ignored.

Recommended approaches:

  1. Avoid unsupported parameters: Modify your code to not use these parameters if they are not essential.

  2. Use .to_pandas() for full compatibility: If you need these parameters, convert to native pandas first: .. code-block:: python

    Convert to native pandas when unsupported parameters are needed

    native_df = df.to_pandas() result = native_df.sort_values(…) # Use all parameters

  3. Split the operation: Perform supported operations in Snowpark pandas, then use native pandas only for the unsupported functionality.

Behavioral note: The kind parameter has no effect. Snowpark pandas always uses a stable sort algorithm, while pandas by default does not.

This behavior may differ from native pandas. Recommended actions:

  • Test with a representative sample of your data
  • Compare results with native pandas if precision is critical
  • Use .to_pandas() if exact pandas behavior is required

Additional recommendations

Check the Snowpark pandas documentation to verify which scenarios aren’t supported for that specific element.