PNDSPY1037¶
Message Pandas < pandas.core.frame.DataFrame.asfreq > 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.asfreqpandas.core.generic.NDFrame.asfreqpandas.core.series.Series.asfreq
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: how, normalize, fill_value
Reason: Only DatetimeIndex is supported and its freq will be lost. Only rule frequencies ‘s’, ‘min’, ‘h’, and ‘D’ are supported.
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.asfreq()
Output¶
The SMA adds the EWI PNDSPY1037 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: PNDSPY1037 => pandas.core.frame.DataFrame.asfreq 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.asfreq()
Recommended fix¶
The following parameters are not supported in Snowpark pandas: how, normalize, 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.asfreq(...) # Use all parameters
Split the operation: Perform supported operations in Snowpark pandas, then use native pandas only for the unsupported functionality.
Behavioral note: Only DatetimeIndex is supported and its freq will be lost. Only rule frequencies ‘s’, ‘min’, ‘h’, and ‘D’ are supported.
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.