PNDSPY1033

Message Pandas < pandas.core.frame.DataFrame.align > has a partial mapping with a few scenarios not supported in Snowpark.

Category Warning

Applies to

This EWI applies to the following elements (same implementation):

  • pandas.core.frame.DataFrame.align
  • pandas.core.generic.NDFrame.align
  • pandas.core.series.Series.align

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: copy, level, fill_value

Reason: N for MultiIndex, for deprecated parameters method, limit, fill_axis, broadcast_axis, or if fill_value is not default of np.nan.

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

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
result = df.align()

Output

The SMA adds the EWI PNDSPY1033 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: PNDSPY1033 => pandas.core.frame.DataFrame.align has a partial mapping, with few scenarios not supported. Check Snowpark pandas documentation for more detail.
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
result = df.align()

The following parameters are not supported in Snowpark pandas: copy, level, fill_value.

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.align(…) # Use all parameters

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

NULL/NaN handling difference: N for MultiIndex, for deprecated parameters method, limit, fill_axis, broadcast_axis, or if fill_value is not default of np.nan.

Snowpark pandas may handle NULL/NaN values differently:

  • Pre-filter NULL values using .dropna() or .fillna() before the operation
  • Verify NULL handling behavior with a small sample dataset
  • Use explicit NULL checks: df[df['column'].notna()]

Additional recommendations

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