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.alignpandas.core.generic.NDFrame.alignpandas.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()
Recommended fix¶
The following parameters are not supported in Snowpark pandas: copy, level, fill_value.
Recommended approaches:
Avoid unsupported parameters: Modify your code to not use these parameters if they are not essential.
Use
.to_pandas()for full compatibility: If you need these parameters, convert to native pandas first:# Convert to native pandas when unsupported parameters are needed native_df = df.to_pandas() result = native_df.align(...) # Use all parameters
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 operationVerify 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.