PNDSPY1230

Message Pandas < pandas.core.tools.datetimes.to_datetime > 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: cache is ignored

Reason: N: - if format is None or not supported in Snowflake - or if params exact, infer_datetime_format is given - or origin == “julian” - or arg is DataFrame and data type is not int - or arg is Series and data type is string.

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 = pd.to_datetime(df)

Output

The SMA adds the EWI PNDSPY1230 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: PNDSPY1230 => pandas.core.tools.datetimes.to_datetime 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 = pd.to_datetime(df)

The parameter cache is ignored is not supported in Snowpark pandas. If your code uses this parameter, consider one of these approaches:

  1. Remove the parameter: If the parameter is not essential for your use case, simply remove it from the function call.
  2. Use default behavior: The function will work with default values for the unsupported parameter.
  3. Post-process with native pandas: If the parameter is critical, collect the result using .to_pandas() and apply the operation with native pandas: .. code-block:: python

    Convert to native pandas for unsupported parameter

    result = df.to_pandas().to_datetime(cache is ignored=value)

Data type consideration: N: - if format is None or not supported in Snowflake - or if params exact, infer_datetime_format is given - or origin == “julian” - or arg is DataFrame and data type is not int - or arg is Series and data type is string.

Ensure data types are compatible:

  • Check column dtypes with df.dtypes before the operation
  • Use .astype() to convert columns to expected types
  • Numeric operations may require explicit casting: df['col'].astype(float)

Additional recommendations

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