1.19.0 (2024-06-25)
Snowpark Python API Updates
Improvements
New Features
- Added support for
to_boolean
function. - Added documentation pages for
Index
and its APIs.
Bug Fixes
- Fixed a bug where python stored procedure with table return type fails when run in a task.
- Fixed a bug where df.dropna fails due to
RecursionError: maximum recursion depth exceeded
when the DataFrame has more than 500 columns. - Fixed a bug where
AsyncJob.result("no_result")
doesn't wait for the query to finish execution.
Snowpark Local Testing Updates
New Features
- Added support for the
strict
parameter when registering UDFs and Stored Procedures.
Bug Fixes
- Fixed a bug in convert_timezone that made the setting the source_timezone parameter return an error.
- Fixed a bug where creating DataFrame with empty data of type
DateType
raisesAttributeError
. - Fixed a bug that table merge fails when update clause exists but no update takes place.
- Fixed a bug in mock implementation of
to_char
that raisesIndexError
when incoming column has nonconsecutive row index. - Fixed a bug in handling of
CaseExpr
expressions that raisesIndexError
when incoming column has nonconsecutive row index. - Fixed a bug in implementation of
Column.like
that raisesIndexError
when incoming column has nonconsecutive row index.
Improvements
- Added support for type coercion in the implementation of DataFrame.replace, DataFrame.dropna and the mock function
iff
.
Snowpark pandas API Updates
New Features
- Added partial support for
DataFrame.pct_change
andSeries.pct_change
without thefreq
andlimit
parameters. - Added support for
Series.str.get
. - Added support for
Series.dt.dayofweek
,Series.dt.day_of_week
,Series.dt.dayofyear
, andSeries.dt.day_of_year
. - Added support for
Series.str.__getitem__
(Series.str[...]
). - Added support for
Series.str.lstrip
andSeries.str.rstrip
. - Added support for
DataFrameGroupby.size
andSeriesGroupby.size
. - Added support for
DataFrame.expanding
andSeries.expanding
for aggregationscount
,sum
,min
,max
,mean
,std
, andvar
withaxis=0
. - Added support for
DataFrame.rolling
andSeries.rolling
for aggregationcount
withaxis=0
. - Added support for
Series.str.match
. - Added support for
DataFrame.resample
andSeries.resample
for aggregationsize
.
Bug Fixes
- Fixed a bug that causes output of GroupBy.aggregate's columns to be ordered incorrectly.
- Fixed a bug where
DataFrame.describe
on a frame with duplicate columns of differing dtypes could cause an error or incorrect results. - Fixed a bug in
DataFrame.rolling
andSeries.rolling
sowindow=0
now throwsNotImplementedError
instead ofValueError
Improvements
- Added support for named aggregations in
DataFrame.aggregate
andSeries.aggregate
withaxis=0
. pd.read_csv
reads using the native pandas CSV parser, then uploads data to snowflake using parquet. This enables most of the parameters supported byread_csv
including date parsing and numeric conversions. Uploading via parquet is roughly twice as fast as uploading via CSV.- Initial work to support an
pd.Index
directly in Snowpark pandas. Support forpd.Index
as a first-class component of Snowpark pandas is coming soon. - Added a lazy index constructor and support for
len
,shape
,size
,empty
,to_pandas()
andnames
. Fordf.index
, Snowpark pandas creates a lazy index object. - For
df.columns
, Snowpark pandas supports a non-lazy version of anIndex
since the data is already stored locally.