SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for python311-pandas-2.1.4-140.11.x86_64.rpm :

* Tue Feb 06 2024 Dirk Müller - enable py312 testing, remove py39 testing
* Fri Jan 12 2024 pgajdosAATTsuse.com- have a possibility to not use pyarrow [bsc#1218592]
* Wed Dec 13 2023 Ben Greiner - Update to 2.1.4 [#]# Fixed regressions
* Fixed regression when trying to read a pickled pandas DataFrame from pandas 1.3 (GH 55137) [#]# Bug fixes
* Bug in Series constructor raising DeprecationWarning when index is a list of Series (GH 55228)
* Bug in Series when trying to cast date-like string inputs to ArrowDtype of pyarrow.timestamp (GH 56266)
* Bug in DataFrame.apply() where passing raw=True ignored args passed to the applied function (GH 55753)
* Bug in Index.__getitem__() returning wrong result for Arrow dtypes and negative stepsize (GH 55832)
* Fixed bug in to_numeric() converting to extension dtype for string[pyarrow_numpy] dtype (GH 56179)
* Fixed bug in DataFrameGroupBy.min() and DataFrameGroupBy.max() not preserving extension dtype for empty object (GH 55619)
* Fixed bug in DataFrame.__setitem__() casting Index with object-dtype to PyArrow backed strings when infer_string option is set (GH 55638)
* Fixed bug in DataFrame.to_hdf() raising when columns have StringDtype (GH 55088)
* Fixed bug in Index.insert() casting object-dtype to PyArrow backed strings when infer_string option is set (GH 55638)
* Fixed bug in Series.__ne__() resulting in False for comparison between NA and string value for dtype=\"string[pyarrow_numpy]\" (GH 56122)
* Fixed bug in Series.mode() not keeping object dtype when infer_string is set (GH 56183)
* Fixed bug in Series.reset_index() not preserving object dtype when infer_string is set (GH 56160)
* Fixed bug in Series.str.split() and Series.str.rsplit() when pat=None for ArrowDtype with pyarrow.string (GH 56271)
* Fixed bug in Series.str.translate() losing object dtype when string option is set (GH 56152)- Go back to Cython0, it has NOT been unpinned by upstream released version
* https://github.com/pandas-dev/pandas/blob/v2.1.4/pyproject.toml#L8
* See also gh#jsonpickle/jsonpickle#460
* Fri Dec 01 2023 Steve Kowalik - Update to 2.1.3:
* Reverted deprecation of fill_method=None in DataFrame.pct_change(), Series.pct_change(), DataFrameGroupBy.pct_change(), and SeriesGroupBy.pct_change(); the values \'backfill\', \'bfill\', \'pad\', and \'ffill\' are still deprecated
* Fixed regressions + Fixed infinite recursion from operations that return a new object on some DataFrame subclasses + Fixed regression in DataFrame.join() where result has missing values and dtype is arrow backed string + Fixed regression in rolling() where non-nanosecond index or on column would produce incorrect results + Fixed regression in DataFrame.resample() which was extrapolating back to origin when origin was outside its bounds + Fixed regression in DataFrame.sort_index() which was not sorting correctly when the index was a sliced MultiIndex + Fixed regression in DataFrameGroupBy.agg() and SeriesGroupBy.agg() where if the option compute.use_numba was set to True, groupby methods not supported by the numba engine would raise a TypeError + Fixed performance regression with wide DataFrames, typically involving methods where all columns were accessed individually + Fixed regression in merge_asof() raising TypeError for by with datetime and timedelta dtypes + Fixed regression in read_parquet() when reading a file with a string column consisting of more than 2 GB of string data and using the \"string\" dtype + Fixed regression in DataFrame.to_sql() not roundtripping datetime columns correctly for sqlite when using detect_types + Fixed regression in construction of certain DataFrame or Series subclasses
* Bug fixes + Bug in DatetimeIndex.diff() raising TypeError + Bug in Index.isin() raising for Arrow backed string and None value + Fix read_parquet() and read_feather() for CVE-2023-47248 + Fixed bug in DataFrameGroupBy reductions not preserving object dtype when infer_string is set + Fixed bug in SeriesGroupBy.value_counts() returning incorrect dtype for string columns + Fixed bug in Categorical.equals() if other has arrow backed string dtype + Fixed bug in DataFrame.__setitem__() not inferring string dtype for zero-dimensional array with infer_string=True + Fixed bug in DataFrame.idxmin() and DataFrame.idxmax() raising for arrow dtypes + Fixed bug in DataFrame.interpolate() raising incorrect error message + Fixed bug in Index.insert() raising when inserting None into Index with dtype=\"string[pyarrow_numpy]\" + Fixed bug in Series.all() and Series.any() not treating missing values correctly for dtype=\"string[pyarrow_numpy]\" + Fixed bug in Series.floordiv() for ArrowDtype + Fixed bug in Series.mode() not sorting values for arrow backed string dtype + Fixed bug in Series.rank() for string[pyarrow_numpy] dtype + Fixed bug in Series.str.extractall() for ArrowDtype dtype being converted to object + Fixed bug where PDEP-6 warning about setting an item of an incompatible dtype was being shown when creating a new conditional column + Silence Period[B] warnings introduced by GH 53446 during normal plotting activity + Fixed bug in Series constructor not inferring string dtype when NA is the first value and infer_string is set- Prepare for Python 3.12, include the flavor check.- Unpin Cython, upstream has moved onto 3.
* Sat Oct 14 2023 Bernhard Wiedemann - Fix random build failures
* Sat Oct 07 2023 Ben Greiner - Update to 2.1.1 [#]# Fixed regressions
* Fixed regression in concat() when DataFrame ‘s have two different extension dtypes (GH 54848)
* Fixed regression in merge() when merging over a PyArrow string index (GH 54894)
* Fixed regression in read_csv() when usecols is given and dtypes is a dict for engine=\"python\" (GH 54868)
* Fixed regression in read_csv() when delim_whitespace is True (GH 54918, GH 54931)
* Fixed regression in GroupBy.get_group() raising for axis=1 (GH 54858)
* Fixed regression in DataFrame.__setitem__() raising AssertionError when setting a Series with a partial MultiIndex (GH 54875)
* Fixed regression in DataFrame.filter() not respecting the order of elements for filter (GH 54980)
* Fixed regression in DataFrame.to_sql() not roundtripping datetime columns correctly for sqlite (GH 54877)
* Fixed regression in DataFrameGroupBy.agg() when aggregating a DataFrame with duplicate column names using a dictionary (GH 55006)
* Fixed regression in MultiIndex.append() raising when appending overlapping IntervalIndex levels (GH 54934)
* Fixed regression in Series.drop_duplicates() for PyArrow strings (GH 54904)
* Fixed regression in Series.interpolate() raising when fill_value was given (GH 54920)
* Fixed regression in Series.value_counts() raising for numeric data if bins was specified (GH 54857)
* Fixed regression in comparison operations for PyArrow backed columns not propagating exceptions correctly (GH 54944)
* Fixed regression when comparing a Series with datetime64 dtype with None (GH 54870) [#]# Bug fixes
* Fixed bug for ArrowDtype raising NotImplementedError for fixed-size list (GH 55000)
* Fixed bug in DataFrame.stack() with future_stack=True and columns a non-MultiIndex consisting of tuples (GH 54948)
* Fixed bug in Series.dt.tz() with ArrowDtype where a string was returned instead of a tzinfo object (GH 55003)
* Fixed bug in Series.pct_change() and DataFrame.pct_change() showing unnecessary FutureWarning (GH 54981) [#]# Other
* Reverted the deprecation that disallowed Series.apply() returning a DataFrame when the passed-in callable returns a Series object (GH 52116)- Drop pandas-pr55073-pyarrow13.patch merged upstream
* Sun Sep 10 2023 Ben Greiner - Fix test failures with pyarrow 13
* Add pandas-pr55073-pyarrow13.patch
* gh#pandas-dev/pandas#55073
* gh#pandas-dev/pandas#55048
* gh#pandas-dev/pandas#55020
* Tue Sep 05 2023 Ben Greiner - Use git cloned archive gh#pandas-dev/pandas#54907
* Thu Aug 31 2023 Ben Greiner - Update to 2.1.0
* https://pandas.pydata.org/pandas-docs/version/2.1.0/whatsnew/v2.1.0.html
* Avoid NumPy object dtype for strings by default
* DataFrame reductions preserve extension dtypes
* Copy-on-Write improvements
* New DataFrame.map() method and support for ExtensionArrays
* New implementation of DataFrame.stack()
* Other minor enhancements (see link above) [#]# Backwards incompatible API changes
* pandas 2.1.0 supports Python 3.9 and higher
* Increased minimum versions for numpy 1.22.3 and some optional dependencies
* arrays.PandasArray has been renamed NumpyExtensionArray and the attached dtype name changed from PandasDtype to NumpyEADtype; importing PandasArray still works until the next major version (GH 53694) [#]# Deprecations
* Deprecated silent upcasting in setitem-like Series operations
* Deprecated parsing datetimes with mixed time zones
* Other Deprecation (see link above) [#]# More
* Performance Improvements (see link above)
* Bug fixes (see linkl above)- Switch to meson build system
* Sun Aug 13 2023 Dirk Müller - update to 2.0.3:
* Bug in Timestamp.weekday`() was returning incorrect results before \'0000-02-29\'
* Fixed performance regression in merging on datetime-like columns
* Fixed regression when DataFrame.to_string() creates extra space for string dtypes
* Bug in DataFrame.convert_dtype() and Series.convert_dtype() when trying to convert ArrowDtype with dtype_backend=\"nullable_numpy\"
* Bug in RangeIndex.union() when using sort=True with another RangeIndex
* Bug in Series.reindex() when expanding a non-nanosecond datetime or timedelta
* Bug in read_csv() when defining dtype with bool[pyarrow] for the \"c\" and \"python\" engines
* Bug in Series.str.split() and Series.str.rsplit() with expand=True
* Bug in indexing methods (e.g. DataFrame.__getitem__()) where taking the entire DataFrame/Series would raise an OverflowError when Copy on Write was enabled the length of the array was over the maximum size a 32-bit integer can hold
* Bug when constructing a DataFrame with columns of an ArrowDtype with a pyarrow.dictionary type that reindexes the data
* Bug when indexing a DataFrame or Series with an Index with a timestamp ArrowDtype would raise an AttributeError- drop pandas-fix-tests.patch (upstream)
* Thu Jun 22 2023 Guillaume GARDET - Fix tests on aarch64:
* pandas-fix-tests.patch
* Sun Jun 11 2023 Johannes Kastl - do not use %elif for python-numpy dependency condition
* Wed Jun 07 2023 Ben Greiner - Increase minimum memory constraints for tests
* Sat May 27 2023 Ben Greiner - Update to 2.0.2 [#]# Fixed regressions
* Fixed performance regression in GroupBy.apply() (GH53195)
* Fixed regression in merge() on Windows when dtype is np.intc (GH52451)
* Fixed regression in read_sql() dropping columns with duplicated column names (GH53117)
* Fixed regression in DataFrame.loc() losing MultiIndex name when enlarging object (GH53053)
* Fixed regression in DataFrame.to_string() printing a backslash at the end of the first row of data, instead of headers, when the DataFrame doesn’t fit the line width (GH53054)
* Fixed regression in MultiIndex.join() returning levels in wrong order (GH53093) [#]# Bug fixes
* Bug in arrays.ArrowExtensionArray incorrectly assigning dict instead of list for .type with pyarrow.map_ and raising a NotImplementedError with pyarrow.struct (GH53328)
* Bug in api.interchange.from_dataframe() was raising IndexError on empty categorical data (GH53077)
* Bug in api.interchange.from_dataframe() was returning DataFrame’s of incorrect sizes when called on slices (GH52824)
* Bug in api.interchange.from_dataframe() was unnecessarily raising on bitmasks (GH49888)
* Bug in merge() when merging on datetime columns on different resolutions (GH53200)
* Bug in read_csv() raising OverflowError for engine=\"pyarrow\" and parse_dates set (GH53295)
* Bug in to_datetime() was inferring format to contain \"%H\" instead of \"%I\" if date contained “AM” / “PM” tokens (GH53147)
* Bug in DataFrame.convert_dtypes() ignores convert_
* keywords when set to False dtype_backend=\"pyarrow\" (GH52872)
* Bug in DataFrame.convert_dtypes() losing timezone for tz-aware dtypes and dtype_backend=\"pyarrow\" (GH53382)
* Bug in DataFrame.sort_values() raising for PyArrow dictionary dtype (GH53232)
* Bug in Series.describe() treating pyarrow-backed timestamps and timedeltas as categorical data (GH53001)
* Bug in Series.rename() not making a lazy copy when Copy-on-Write is enabled when a scalar is passed to it (GH52450)
* Bug in pd.array() raising for NumPy array and pa.large_string or pa.large_binary (GH52590)
* Bug in DataFrame.__getitem__() not preserving dtypes for MultiIndex partial keys (GH51895) [#]# Other
* Raised a better error message when calling Series.dt.to_pydatetime() with ArrowDtype with pyarrow.date32 or pyarrow.date64 type (GH52812)- Release to 2.0.1 [#]# Fixed regressions
* Fixed regression for subclassed Series when constructing from a dictionary (GH52445)
* Fixed regression in SeriesGroupBy.agg() failing when grouping with categorical data, multiple groupings, as_index=False, and a list of aggregations (GH52760)
* Fixed regression in DataFrame.pivot() changing Index name of input object (GH52629)
* Fixed regression in DataFrame.resample() raising on a DataFrame with no columns (GH52484)
* Fixed regression in DataFrame.sort_values() not resetting index when DataFrame is already sorted and ignore_index=True (GH52553)
* Fixed regression in MultiIndex.isin() raising TypeError for Generator (GH52568)
* Fixed regression in Series.describe() showing RuntimeWarning for extension dtype Series with one element (GH52515)
* Fixed regression when adding a new column to a DataFrame when the DataFrame.columns was a RangeIndex and the new key was hashable but not a scalar (GH52652) [#]# Bug fixes
* Bug in Series.dt.days that would overflow int32 number of days (GH52391)
* Bug in arrays.DatetimeArray constructor returning an incorrect unit when passed a non-nanosecond numpy datetime array (GH52555)
* Bug in ArrowExtensionArray with duration dtype overflowing when constructed from data containing numpy NaT (GH52843)
* Bug in Series.dt.round() when passing a freq of equal or higher resolution compared to the Series would raise a ZeroDivisionError (GH52761)
* Bug in Series.median() with ArrowDtype returning an approximate median (GH52679)
* Bug in api.interchange.from_dataframe() was unnecessarily raising on categorical dtypes (GH49889)
* Bug in api.interchange.from_dataframe() was unnecessarily raising on large string dtypes (GH52795)
* Bug in pandas.testing.assert_series_equal() where check_dtype=False would still raise for datetime or timedelta types with different resolutions (GH52449)
* Bug in read_csv() casting PyArrow datetimes to NumPy when dtype_backend=\"pyarrow\" and parse_dates is set causing a performance bottleneck in the process (GH52546)
* Bug in to_datetime() and to_timedelta() when trying to convert numeric data with a ArrowDtype (GH52425)
* Bug in to_numeric() with errors=\'coerce\' and dtype_backend=\'pyarrow\' with ArrowDtype data (GH52588)
* Bug in ArrowDtype.__from_arrow__() not respecting if dtype is explicitly given (GH52533)
* Bug in DataFrame.describe() not respecting ArrowDtype in include and exclude (GH52570)
* Bug in DataFrame.max() and related casting different Timestamp resolutions always to nanoseconds (GH52524)
* Bug in Series.describe() not returning ArrowDtype with pyarrow.float64 type with numeric data (GH52427)
* Bug in Series.dt.tz_localize() incorrectly localizing timestamps with ArrowDtype (GH52677)
* Bug in arithmetic between np.datetime64 and np.timedelta64 NaT scalars with units always returning nanosecond resolution (GH52295)
* Bug in logical and comparison operations between ArrowDtype and numpy masked types (e.g. \"boolean\") (GH52625)
* Fixed bug in merge() when merging with ArrowDtype one one and a NumPy dtype on the other side (GH52406)
* Fixed segfault in Series.to_numpy() with null[pyarrow] dtype (GH52443) [#]# Other
* DataFrame created from empty dicts had columns of dtype object. It is now a RangeIndex (GH52404)
* Series created from empty dicts had index of dtype object. It is now a RangeIndex (GH52404)
* Implemented Series.str.split() and Series.str.rsplit() for ArrowDtype with pyarrow.string (GH52401)
* Implemented most str accessor methods for ArrowDtype with pyarrow.string (GH52401)
* Supplying a non-integer hashable key that tests False in api.types.is_scalar() now raises a KeyError for RangeIndex.get_loc(), like it does for Index.get_loc(). Previously it raised an InvalidIndexError (GH52652).- Release to 2.0.0 [#]# Enhancements
* Installing optional dependencies with pip extras
* Index can now hold numpy numeric dtypes
* Argument dtype_backend , to return pyarrow-backed or numpy-backed nullable dtypes
* Copy-on-Write improvements
* Other enhancements, see https://pandas.pydata.org/pandas-docs/version/2.0.2/whatsnew/v2.0.0.html#other-enhancements [#]# Notable bug fixes
* DataFrameGroupBy.cumsum() and DataFrameGroupBy.cumprod() overflow instead of lossy casting to float
* DataFrameGroupBy.nth() and SeriesGroupBy.nth() now behave as filtrations [#]# Backwards incompatible API changes
* Construction with datetime64 or timedelta64 dtype with unsupported resolution
* Value counts sets the resulting name to count
* Disallow astype conversion to non-supported datetime64/timedelta64 dtypes
* UTC and fixed-offset timezones default to standard-library tzinfo objects
* Empty DataFrames/Series will now default to have a RangeIndex
* DataFrame to LaTeX has a new render engine
* Increased minimum versions for dependencies
* Datetimes are now parsed with a consistent format
* Other API changes, see https://pandas.pydata.org/pandas-docs/version/2.0.2/whatsnew/v2.0.0.html#other-api-changes [#]# Deprecations [#]# Removal of prior version deprecations/changes [#]# Performance improvements [#]# Bug fixes- Drop python38 test flavor and start testing python311 which has been missing since.
* Mon May 08 2023 Johannes Kastl - add sle15_python_module_pythons
* Wed Feb 08 2023 Arun Persaud - specfile:
* update copyright year
* remove pandas-pr49886-fix-numpy-deprecations.patch, implemented upstreams- update to version 1.5.3:
* Fixed regressions + Fixed performance regression in Series.isin() when values is empty (GH49839) + Fixed regression in DataFrame.memory_usage() showing unnecessary FutureWarning when DataFrame is empty (GH50066) + Fixed regression in DataFrameGroupBy.transform() when used with as_index=False (GH49834) + Enforced reversion of color as an alias for c and size as an alias for s in function DataFrame.plot.scatter() (GH49732) + Fixed regression in SeriesGroupBy.apply() setting a name attribute on the result if the result was a DataFrame (GH49907) + Fixed performance regression in setting with the at() indexer (GH49771) + Fixed regression in the methods apply, agg, and transform when used with NumPy functions that informed users to supply numeric_only=True if the operation failed on non-numeric dtypes; such columns must be dropped prior to using these methods (GH50538) + Fixed regression in to_datetime() raising ValueError when parsing array of float containing np.nan (GH50237)
* Bug fixes + Bug in the Copy-on-Write implementation losing track of views when indexing a DataFrame with another DataFrame (GH50630) + Bug in Styler.to_excel() leading to error when unrecognized border-style (e.g. \"hair\") provided to Excel writers (GH48649) + Bug in Series.quantile() emitting warning from NumPy when Series has only NA values (GH50681) + Bug when chaining several Styler.concat() calls, only the last styler was concatenated (GH49207) + Fixed bug when instantiating a DataFrame subclass inheriting from typing.Generic that triggered a UserWarning on python 3.11 (GH49649) + Bug in pivot_table() with NumPy 1.24 or greater when the DataFrame columns has nested elements (GH50342) + Bug in pandas.testing.assert_series_equal() (and equivalent assert_ functions) when having nested data and using numpy >= 1.25 (GH50360)
* Other + Note: If you are using DataFrame.to_sql(), read_sql(), read_sql_table(), or read_sql_query() with SQLAlchemy 1.4.46 or greater, you may see a sqlalchemy.exc.RemovedIn20Warning. These warnings can be safely ignored for the SQLAlchemy 1.4.x releases as pandas works toward compatibility with SQLAlchemy 2.0. + Reverted deprecation (GH45324) of behavior of Series.__getitem__() and Series.__setitem__() slicing with an integer Index; this will remain positional (GH49612) + A FutureWarning raised when attempting to set values inplace with DataFrame.loc() or DataFrame.iloc() has been changed to a DeprecationWarning (GH48673)
* Fri Dec 23 2022 Ben Greiner - Update to version 1.5.2 [#]# Fixed regressions
* Fixed regression in MultiIndex.join() for extension array dtypes (GH49277)
* Fixed regression in Series.replace() raising RecursionError with numeric dtype and when specifying value=None (GH45725)
* Fixed regression in arithmetic operations for DataFrame with MultiIndex columns with different dtypes (GH49769)
* Fixed regression in DataFrame.plot() preventing Colormap instance from being passed using the colormap argument if Matplotlib 3.6+ is used (GH49374)
* Fixed regression in date_range() returning an invalid set of periods for CustomBusinessDay frequency and start date with timezone (GH49441)
* Fixed performance regression in groupby operations (GH49676)
* Fixed regression in Timedelta constructor returning object of wrong type when subclassing Timedelta (GH49579) [#]# Bug fixes
* Bug in the Copy-on-Write implementation losing track of views in certain chained indexing cases (GH48996)
* Fixed memory leak in Styler.to_excel() (GH49751) [#]# Other
* Reverted color as an alias for c and size as an alias for s in function DataFrame.plot.scatter() (GH49732)- Add pandas-pr49886-fix-numpy-deprecations.patch
* gh#pandas-dev/pandas#49887- Move to PEP518 build
* Sat Oct 22 2022 Arun Persaud - update to version 1.5.1:
* Fixed regressions + Fixed Regression in Series.__setitem__() casting None to NaN for object dtype (GH48665) + Fixed Regression in DataFrame.loc() when setting values as a DataFrame with all True indexer (GH48701) + Regression in read_csv() causing an EmptyDataError when using an UTF-8 file handle that was already read from (GH48646) + Regression in to_datetime() when utc=True and arg contained timezone naive and aware arguments raised a ValueError (GH48678) + Fixed regression in DataFrame.loc() raising FutureWarning when setting an empty DataFrame (GH48480) + Fixed regression in DataFrame.describe() raising TypeError when result contains NA (GH48778) + Fixed regression in DataFrame.plot() ignoring invalid colormap for kind=\"scatter\" (GH48726) + Fixed regression in MultiIndex.values`() resetting freq attribute of underlying Index object (GH49054) + Fixed performance regression in factorize() when na_sentinel is not None and sort=False (GH48620) + Fixed regression causing an AttributeError during warning emitted if the provided table name in DataFrame.to_sql() and the table name actually used in the database do not match (GH48733) + Fixed regression in to_datetime() when arg was a date string with nanosecond and format contained %f would raise a ValueError (GH48767) + Fixed regression in assert_frame_equal() raising for MultiIndex with Categorical and check_like=True (GH48975) + Fixed regression in DataFrame.fillna() replacing wrong values for datetime64[ns] dtype and inplace=True (GH48863) + Fixed DataFrameGroupBy.size() not returning a Series when axis=1 (GH48738) + Fixed Regression in DataFrameGroupBy.apply() when user defined function is called on an empty dataframe (GH47985) + Fixed regression in DataFrame.apply() when passing non-zero axis via keyword argument (GH48656) + Fixed regression in Series.groupby() and DataFrame.groupby() when the grouper is a nullable data type (e.g. Int64) or a PyArrow-backed string array, contains null values, and dropna=False (GH48794) + Fixed performance regression in Series.isin() with mismatching dtypes (GH49162) + Fixed regression in DataFrame.to_parquet() raising when file name was specified as bytes (GH48944) + Fixed regression in ExcelWriter where the book attribute could no longer be set; however setting this attribute is now deprecated and this ability will be removed in a future version of pandas (GH48780) + Fixed regression in DataFrame.corrwith() when computing correlation on tied data with method=\"spearman\" (GH48826)
* Bug fixes + Bug in Series.__getitem__() not falling back to positional for integer keys and boolean Index (GH48653) + Bug in DataFrame.to_hdf() raising AssertionError with boolean index (GH48667) + Bug in assert_index_equal() for extension arrays with non matching NA raising ValueError (GH48608) + Bug in DataFrame.pivot_table() raising unexpected FutureWarning when setting datetime column as index (GH48683) + Bug in DataFrame.sort_values() emitting unnecessary FutureWarning when called on DataFrame with boolean sparse columns (GH48784) + Bug in arrays.ArrowExtensionArray with a comparison operator to an invalid object would not raise a NotImplementedError (GH48833)
* Other + Avoid showing deprecated signatures when introspecting functions with warnings about arguments becoming keyword-only (GH48692)
* Mon Sep 19 2022 Arun Persaud - specfile:
* update required versions- update to version 1.5.0:
* long changelog, full version available at https://pandas.pydata.org/pandas-docs/stable/whatsnew/v1.5.0.html#
* Sat Sep 10 2022 Arun Persaud - specfile:
* update required version- update to version 1.4.4:
* Fixed regressions + Fixed regression in DataFrame.fillna() not working on a DataFrame with a MultiIndex (GH47649) + Fixed regression in taking NULL objects from a DataFrame causing a segmentation violation. These NULL values are created by numpy.empty_like() (GH46848) + Fixed regression in concat() materializing the Index during sorting even if the Index was already sorted (GH47501) + Fixed regression in concat() or merge() handling of all-NaN ExtensionArrays with custom attributes (GH47762) + Fixed regression in calling bitwise numpy ufuncs (for example, np.bitwise_and) on Index objects (GH46769) + Fixed regression in cut() when using a datetime64 IntervalIndex as bins (GH46218) + Fixed regression in DataFrame.select_dtypes() where include=\"number\" included BooleanDtype (GH46870) + Fixed regression in DataFrame.loc() raising error when indexing with a NamedTuple (GH48124) + Fixed regression in DataFrame.loc() not updating the cache correctly after values were set (GH47867) + Fixed regression in DataFrame.loc() not aligning index in some cases when setting a DataFrame (GH47578) + Fixed regression in DataFrame.loc() setting a length-1 array like value to a single value in the DataFrame (GH46268) + Fixed regression when slicing with DataFrame.loc() with DatetimeIndex with a DateOffset object for its freq (GH46671) + Fixed regression in setting None or non-string value into a string-dtype Series using a mask (GH47628) + Fixed regression in updating a DataFrame column through Series __setitem__ (using chained assignment) not updating column values inplace and using too much memory (GH47172) + Fixed regression in DataFrame.select_dtypes() returning a view on the original DataFrame (GH48090) + Fixed regression using custom Index subclasses (for example, used in xarray) with reset_index() or Index.insert() (GH47071) + Fixed regression in intersection() when the DatetimeIndex has dates crossing daylight savings time (GH46702) + Fixed regression in merge() throwing an error when passing a Series with a multi-level name (GH47946) + Fixed regression in DataFrame.eval() creating a copy when updating inplace (GH47449) + Fixed regression where getting a row using DataFrame.iloc() with SparseDtype would raise (GH46406)
* Bug fixes + The FutureWarning raised when passing arguments (other than filepath_or_buffer) as positional in read_csv() is now raised at the correct stacklevel (GH47385) + Bug in DataFrame.to_sql() when method was a callable that did not return an int and would raise a TypeError (GH46891) + Bug in DataFrameGroupBy.value_counts() where subset had no effect (GH46383) + Bug when getting values with DataFrame.loc() with a list of keys causing an internal inconsistency that could lead to a disconnect between frame.at[x, y] vs frame[y].loc[x] (GH22372) + Bug in the Series.dt.strftime() accessor return a float instead of object dtype Series for all-NaT input, which also causes a spurious deprecation warning (GH45858)
* Other + The minimum version of Cython needed to compile pandas is now 0.29.32 (GH47978)
* Sat Jul 09 2022 Arun Persaud - update to version 1.4.3:
* Behavior of concat with empty or all-NA DataFrame columns The behavior change in version 1.4.0 to stop ignoring the data type of empty or all-NA columns with float or object dtype in concat() (Ignoring dtypes in concat with empty or all-NA columns) has been reverted (GH45637).
* Fixed regressions + Fixed regression in DataFrame.replace() when the replacement value was explicitly None when passed in a dictionary to to_replace also casting other columns to object dtype even when there were no values to replace (GH46634) + Fixed regression in DataFrame.to_csv() raising error when DataFrame contains extension dtype categorical column (GH46297, GH46812) + Fixed regression in representation of dtypes attribute of MultiIndex (GH46900) + Fixed regression when setting values with DataFrame.loc() updating RangeIndex when index was set as new column and column was updated afterwards (GH47128) + Fixed regression in DataFrame.fillna() and DataFrame.update() creating a copy when updating inplace (GH47188) + Fixed regression in DataFrame.nsmallest() led to wrong results when the sorting column has np.nan values (GH46589) + Fixed regression in read_fwf() raising ValueError when widths was specified with usecols (GH46580) + Fixed regression in concat() not sorting columns for mixed column names (GH47127) + Fixed regression in Groupby.transform() and Groupby.agg() failing with engine=\"numba\" when the index was a MultiIndex (GH46867) + Fixed regression in NaN comparison for Index operations where the same object was compared (GH47105) + Fixed regression is Styler.to_latex() and Styler.to_html() where buf failed in combination with encoding (GH47053) + Fixed regression in read_csv() with index_col=False identifying first row as index names when header=None (GH46955) + Fixed regression in DataFrameGroupBy.agg() when used with list-likes or dict-likes and axis=1 that would give incorrect results; now raises NotImplementedError (GH46995) + Fixed regression in DataFrame.resample() and DataFrame.rolling() when used with list-likes or dict-likes and axis=1 that would raise an unintuitive error message; now raises NotImplementedError (GH46904) + Fixed regression in testing.assert_index_equal() when check_order=False and Index has extension or object dtype (GH47207) + Fixed regression in read_excel() returning ints as floats on certain input sheets (GH46988) + Fixed regression in DataFrame.shift() when axis is columns and fill_value is absent, freq is ignored (GH47039) + Fixed regression in DataFrame.to_json() causing a segmentation violation when DataFrame is created with an index parameter of the type PeriodIndex (GH46683)
* Bug fixes + Bug in pandas.eval(), DataFrame.eval() and DataFrame.query() where passing empty local_dict or global_dict was treated as passing None (GH47084) + Most I/O methods no longer suppress OSError and ValueError when closing file handles (GH47136)
* Other + The minimum version of Cython needed to compile pandas is now 0.29.30 (GH41935)
* Tue Apr 05 2022 Ben Greiner - Update to version 1.4.2
* Fixed regression in DataFrame.drop() and Series.drop() when Index had extension dtype and duplicates (GH45860)
* Fixed regression in read_csv() killing python process when invalid file input was given for engine=\"c\" (GH45957)
* Fixed memory performance regression in Series.fillna() when called on a DataFrame column with inplace=True (GH46149)
* Provided an alternative solution for passing custom Excel formats in Styler.to_excel(), which was a regression based on stricter CSS validation. Examples available in the documentation for Styler.format() (GH46152)
* Fixed regression in DataFrame.replace() when a replacement value was also a target for replacement (GH46306)
* Fixed regression in DataFrame.replace() when the replacement value was explicitly None when passed in a dictionary to to_replace (GH45601, GH45836)
* Fixed regression when setting values with DataFrame.loc() losing MultiIndex names if DataFrame was empty before (GH46317)
* Fixed regression when rendering boolean datatype columns with Styler() (GH46384)
* Fixed regression in Groupby.rolling() with a frequency window that would raise a ValueError even if the datetimes within each group were monotonic (GH46061)
* Fix some cases for subclasses that define their _constructor properties as general callables (GH46018)
* Fixed “longtable” formatting in Styler.to_latex() when column_format is given in extended format (GH46037)
* Fixed incorrect rendering in Styler.format() with hyperlinks=\"html\" when the url contains a colon or other special characters (GH46389)
* Improved error message in Rolling when window is a frequency and NaT is in the rolling axis (GH46087)- Copy back the installed package into the source tree
* mimics upstreams test setup of an editable install
* avoids conftest.py collection errors with pytest 7
* Sat Feb 12 2022 Arun Persaud - update to version 1.4.1:
* Fixed regressions + Regression in Series.mask() with inplace=True and PeriodDtype and an incompatible other coercing to a common dtype instead of raising (GH45546) + Regression in assert_frame_equal() not respecting check_flags=False (GH45554) + Regression in DataFrame.loc() raising ValueError when indexing (getting values) on a MultiIndex with one level (GH45779) + Regression in Series.fillna() with downcast=False incorrectly downcasting object dtype (GH45603) + Regression in api.types.is_bool_dtype() raising an AttributeError when evaluating a categorical Series (GH45615) + Regression in DataFrame.iat() setting values leading to not propagating correctly in subsequent lookups (GH45684) + Regression when setting values with DataFrame.loc() losing Index name if DataFrame was empty before (GH45621) + Regression in join() with overlapping IntervalIndex raising an InvalidIndexError (GH45661) + Regression when setting values with Series.loc() raising with all False indexer and Series on the right hand side (GH45778) + Regression in read_sql() with a DBAPI2 connection that is not an instance of sqlite3.Connection incorrectly requiring SQLAlchemy be installed (GH45660) + Regression in DateOffset when constructing with an integer argument with no keywords (e.g. pd.DateOffset(n)) would behave like datetime.timedelta(days=0) (GH45643, GH45890)
* Bug fixes + Fixed segfault in DataFrame.to_json() when dumping tz-aware datetimes in Python 3.10 (GH42130) + Stopped emitting unnecessary FutureWarning in DataFrame.sort_values() with sparse columns (GH45618) + Fixed window aggregations in DataFrame.rolling() and Series.rolling() to skip over unused elements (GH45647) + Fixed builtin highlighters in Styler to be responsive to NA with nullable dtypes (GH45804) + Bug in apply() with axis=1 raising an erroneous ValueError (GH45912)
* Other + Reverted performance speedup of DataFrame.corr() for method=pearson to fix precision regression (GH45640, GH42761)
* Tue Jan 25 2022 Ben Greiner - Skip more tests on non-intel architectures boo#1167730
* Sun Jan 23 2022 Ben Greiner - Update to version 1.4.0
* https://pandas.pydata.org/docs/whatsnew/v1.4.0.html
* Enhancements - Improved warning messages - Index can hold arbitrary ExtensionArrays - Enhancements in Styler - Multi-threaded CSV reading with a new CSV Engine based on pyarrow - Rank function for rolling and expanding windows - Groupby positional indexing - DataFrame.from_dict and DataFrame.to_dict have new \'tight\' option
* Notable bug fixes - Inconsistent date string parsing - Ignoring dtypes in concat with empty or all-NA columns - Null-values are no longer coerced to NaN-value in value_counts and mode - mangle_dupe_cols in read_csv no longer renames unique columns conflicting with target names - unstack and pivot_table no longer raises ValueError for result that would exceed int32 limit - groupby.apply consistent transform detection
* API changes - Index.get_indexer_for() no longer accepts keyword arguments (other than target); in the past these would be silently ignored if the index was not unique (GH42310) - Change in the position of the min_rows argument in DataFrame.to_string() due to change in the docstring (GH44304) - Reduction operations for DataFrame or Series now raising a ValueError when None is passed for skipna (GH44178) - read_csv() and read_html() no longer raising an error when one of the header rows consists only of Unnamed: columns (GH13054) - Changed the name attribute of several holidays in USFederalHolidayCalendar to match official federal holiday names.
* Deprecations - Deprecated Int64Index, UInt64Index & Float64Index - Deprecated Frame.append and Series.append- Split out test runs into separate flavors, optimize memory usage in pytest-xdist runs
* Tue Jan 04 2022 Ben Greiner - Update to version 1.3.5
* Fixed regression in Series.equals() when comparing floats with dtype object to None (GH44190)
* Fixed regression in merge_asof() raising error when array was supplied as join key (GH42844)
* Fixed regression when resampling DataFrame with DateTimeIndex with empty groups and uint8, uint16 or uint32 columns incorrectly raising RuntimeError (GH43329)
* Fixed regression in creating a DataFrame from a timezone-aware Timestamp scalar near a Daylight Savings Time transition (GH42505)
* Fixed performance regression in read_csv() (GH44106)
* Fixed regression in Series.duplicated() and Series.drop_duplicates() when Series has Categorical dtype with boolean categories (GH44351)
* Fixed regression in GroupBy.sum() with timedelta64[ns] dtype containing NaT failing to treat that value as NA (GH42659)
* Fixed regression in RollingGroupby.cov() and RollingGroupby.corr() when other had the same shape as each group would incorrectly return superfluous groups in the result (GH42915)
* Wed Oct 20 2021 Guillaume GARDET - Update to version 1.3.4
* Fixed regression in DataFrame.convert_dtypes() incorrectly converts byte strings to strings (GH43183)
* Fixed regression in GroupBy.agg() where it was failing silently with mixed data types along axis=1 and MultiIndex (GH43209)
* Fixed regression in merge() with integer and NaN keys failing with outer merge (GH43550)
* Fixed regression in DataFrame.corr() raising ValueError with method=\"spearman\" on 32-bit platforms (GH43588)
* Fixed performance regression in MultiIndex.equals() (GH43549)
* Fixed performance regression in GroupBy.first() and GroupBy.last() with StringDtype (GH41596)
* Fixed regression in Series.cat.reorder_categories() failing to update the categories on the Series (GH43232)
* Fixed regression in Series.cat.categories() setter failing to update the categories on the Series (GH43334)
* Fixed regression in read_csv() raising UnicodeDecodeError exception when memory_map=True (GH43540)
* Fixed regression in DataFrame.explode() raising AssertionError when column is any scalar which is not a string (GH43314)
* Fixed regression in Series.aggregate() attempting to pass args and kwargs multiple times to the user supplied func in certain cases (GH43357)
* Fixed regression when iterating over a DataFrame.groupby.rolling object causing the resulting DataFrames to have an incorrect index if the input groupings were not sorted (GH43386)
* Fixed regression in DataFrame.groupby.rolling.cov() and DataFrame.groupby.rolling.corr() computing incorrect results if the input groupings were not sorted (GH43386)
* Fixed bug in pandas.DataFrame.groupby.rolling() and pandas.api.indexers.FixedForwardWindowIndexer leading to segfaults and window endpoints being mixed across groups (GH43267)
* Fixed bug in GroupBy.mean() with datetimelike values including NaT values returning incorrect results (GH43132)
* Fixed bug in Series.aggregate() not passing the first args to the user supplied func in certain cases (GH43357)
* Fixed memory leaks in Series.rolling.quantile() and Series.rolling.median() (GH43339)
* Mon Sep 20 2021 Ben Greiner - Update to version 1.3.3
* Fixed regression in DataFrame constructor failing to broadcast for defined Index and len one list of Timestamp (GH42810)
* Fixed regression in GroupBy.agg() incorrectly raising in some cases (GH42390)
* Fixed regression in GroupBy.apply() where nan values were dropped even with dropna=False (GH43205)
* Fixed regression in GroupBy.quantile() which was failing with pandas.NA (GH42849)
* Fixed regression in merge() where on columns with ExtensionDtype or bool data types were cast to object in right and outer merge (GH40073)
* Fixed regression in RangeIndex.where() and RangeIndex.putmask() raising AssertionError when result did not represent a RangeIndex (GH43240)
* Fixed regression in read_parquet() where the fastparquet engine would not work properly with fastparquet 0.7.0 (GH43075)
* Fixed regression in DataFrame.loc.__setitem__() raising ValueError when setting array as cell value (GH43422)
* Fixed regression in is_list_like() where objects with __iter__ set to None would be identified as iterable (GH43373)
* Fixed regression in DataFrame.__getitem__() raising error for slice of DatetimeIndex when index is non monotonic (GH43223)
* Fixed regression in Resampler.aggregate() when used after column selection would raise if func is a list of aggregation functions (GH42905)
* Fixed regression in DataFrame.corr() where Kendall correlation would produce incorrect results for columns with repeated values (GH43401)
* Fixed regression in DataFrame.groupby() where aggregation on columns with object types dropped results on those columns (GH42395, GH43108)
* Fixed regression in Series.fillna() raising TypeError when filling float Series with list-like fill value having a dtype which couldn’t cast lostlessly (like float32 filled with float64) (GH43424)
* Fixed regression in read_csv() raising AttributeError when the file handle is an tempfile.SpooledTemporaryFile object (GH43439)
* Fixed performance regression in core.window.ewm. ExponentialMovingWindow.mean() (GH42333)
* Performance improvement for DataFrame.__setitem__() when the key or value is not a DataFrame, or key is not list-like (GH43274)
* Fixed bug in DataFrameGroupBy.agg() and DataFrameGroupBy. transform() with engine=\"numba\" where index data was not being correctly passed into func (GH43133)- Release 1.3.2
* Performance regression in DataFrame.isin() and Series.isin() for nullable data types (GH42714)
* Regression in updating values of Series using boolean index, created by using DataFrame.pop() (GH42530)
* Regression in DataFrame.from_records() with empty records (GH42456)
* Fixed regression in DataFrame.shift() where TypeError occurred when shifting DataFrame created by concatenation of slices and fills with values (GH42719)
* Regression in DataFrame.agg() when the func argument returned lists and axis=1 (GH42727)
* Regression in DataFrame.drop() does nothing if MultiIndex has duplicates and indexer is a tuple or list of tuples (GH42771)
* Fixed regression where read_csv() raised a ValueError when parameters names and prefix were both set to None (GH42387)
* Fixed regression in comparisons between Timestamp object and datetime64 objects outside the implementation bounds for nanosecond datetime64 (GH42794)
* Fixed regression in Styler.highlight_min() and Styler. highlight_max() where pandas.NA was not successfully ignored (GH42650)
* Fixed regression in concat() where copy=False was not honored in axis=1 Series concatenation (GH42501)
* Regression in Series.nlargest() and Series.nsmallest() with nullable integer or float dtype (GH42816)
* Fixed regression in Series.quantile() with Int64Dtype (GH42626)
* Fixed regression in Series.groupby() and DataFrame.groupby() where supplying the by argument with a Series named with a tuple would incorrectly raise (GH42731)
* Bug in read_excel() modifies the dtypes dictionary when reading a file with duplicate columns (GH42462)
* 1D slices over extension types turn into N-dimensional slices over ExtensionArrays (GH42430)
* Fixed bug in Series.rolling() and DataFrame.rolling() not calculating window bounds correctly for the first row when center=True and window is an offset that covers all the rows (GH42753)
* Styler.hide_columns() now hides the index name header row as well as column headers (GH42101)
* Styler.set_sticky() has amended CSS to control the column/index names and ensure the correct sticky positions (GH42537)
* Bug in de-serializing datetime indexes in PYTHONOPTIMIZED mode (GH42866)
* Tue Aug 17 2021 Fabian Vogt - Drop suggests of python-numba (pulls in LLVM10) and python-QtPy (pulls in Qt3D, python-qt5 is enough) to make the TW DVD fit again
* Thu Aug 12 2021 Ben Greiner - Update to version 1.3.1 Fixed regressions
* Pandas could not be built on PyPy (GH42355)
* DataFrame constructed with an older version of pandas could not be unpickled (GH42345)
* Performance regression in constructing a DataFrame from a dictionary of dictionaries (GH42248)
* Fixed regression in DataFrame.agg() dropping values when the DataFrame had an Extension Array dtype, a duplicate index, and axis=1 (GH42380)
* Fixed regression in DataFrame.astype() changing the order of noncontiguous data (GH42396)
* Performance regression in DataFrame in reduction operations requiring casting such as DataFrame.mean() on integer data (GH38592)
* Performance regression in DataFrame.to_dict() and Series.to_dict () when orient argument one of “records”, “dict”, or “split” (GH42352)
* Fixed regression in indexing with a list subclass incorrectly raising TypeError (GH42433, GH42461)
* Fixed regression in DataFrame.isin() and Series.isin() raising TypeError with nullable data containing at least one missing value (GH42405)
* Regression in concat() between objects with bool dtype and integer dtype casting to object instead of to integer (GH42092)
* Bug in Series constructor not accepting a dask.Array (GH38645)
* Fixed regression for SettingWithCopyWarning displaying incorrect stacklevel (GH42570)
* Fixed regression for merge_asof() raising KeyError when one of the by columns is in the index (GH34488)
* Fixed regression in to_datetime() returning pd.NaT for inputs that produce duplicated values, when cache=True (GH42259)
* Fixed regression in SeriesGroupBy.value_counts() that resulted in an IndexError when called on a Series with one row (GH42618)
* Fixed bug in DataFrame.transpose() dropping values when the DataFrame had an Extension Array dtype and a duplicate index (GH42380)
* Fixed bug in DataFrame.to_xml() raising KeyError when called with index=False and an offset index (GH42458)
* Fixed bug in Styler.set_sticky() not handling index names correctly for single index columns case (GH42537)
* Fixed bug in DataFrame.copy() failing to consolidate blocks in the result (GH42579)
* Thu Jul 22 2021 Arun Persaud - specfile:
* update requirements
* README.rst ->README.md- update to version 1.3.0:
* long changelog, see https://pandas.pydata.org/pandas-docs/stable/whatsnew/v1.3.0.html- changes from version 1.2.5:
* Fixed regression in concat() between two DataFrame where one has an Index that is all-None and the other is DatetimeIndex incorrectly raising (GH40841)
* Fixed regression in DataFrame.sum() and DataFrame.prod() when min_count and numeric_only are both given (GH41074)
* Fixed regression in read_csv() when using memory_map=True with an non-UTF8 encoding (GH40986)
* Fixed regression in DataFrame.replace() and Series.replace() when the values to replace is a NumPy float array (GH40371)
* Fixed regression in ExcelFile() when a corrupt file is opened but not closed (GH41778)
* Fixed regression in DataFrame.astype() with dtype=str failing to convert NaN in categorical columns (GH41797)- Unpack some files required for testing
* Mon May 03 2021 Arun Persaud - update to version 1.2.4:
* Fixed regressions + Fixed regression in DataFrame.sum() when min_count greater than the DataFrame shape was passed resulted in a ValueError (GH39738) + Fixed regression in DataFrame.to_json() raising AttributeError when run on PyPy (GH39837) + Fixed regression in (in)equality comparison of pd.NaT with a non-datetimelike numpy array returning a scalar instead of an array (GH40722) + Fixed regression in DataFrame.where() not returning a copy in the case of an all True condition (GH39595) + Fixed regression in DataFrame.replace() raising IndexError when regex was a multi-key dictionary (GH39338) + Fixed regression in repr of floats in an object column not respecting float_format when printed in the console or outputted through DataFrame.to_string(), DataFrame.to_html(), and DataFrame.to_latex() (GH40024) + Fixed regression in NumPy ufuncs such as np.add not passing through all arguments for DataFrame (GH40662)
* Wed Mar 03 2021 Arun Persaud - update to version 1.2.3:
* Fixed regressions + Fixed regression in to_excel() raising KeyError when giving duplicate columns with columns attribute (GH39695) + Fixed regression in nullable integer unary ops propagating mask on assignment (GH39943) + Fixed regression in DataFrame.__setitem__() not aligning DataFrame on right-hand side for boolean indexer (GH39931) + Fixed regression in to_json() failing to use compression with URL-like paths that are internally opened in binary mode or with user-provided file objects that are opened in binary mode (GH39985) + Fixed regression in Series.sort_index() and DataFrame.sort_index(), which exited with an ungraceful error when having kwarg ascending=None passed. Passing ascending=None is still considered invalid, and the improved error message suggests a proper usage (ascending must be a boolean or a list-like of boolean) (GH39434) + Fixed regression in DataFrame.transform() and Series.transform() giving incorrect column labels when passed a dictionary with a mix of list and non-list values (GH40018)
* Sun Feb 14 2021 Ben Greiner - Update to version 1.2.2
* https://pandas.pydata.org/docs/whatsnew/v1.2.2.html
* fixed regressions and bugfixes- Update to version 1.2.1
* https://pandas.pydata.org/docs/whatsnew/v1.2.1.html
* fixed regressions and bugfixes
* Calling NumPy ufuncs on non-aligned DataFrames
* The deprecated attributes _AXIS_NAMES and _AXIS_NUMBERS of DataFrame and Series will no longer show up in dir or inspect. getmembers calls (GH38740)
* Bumped minimum fastparquet version to 0.4.0 to avoid AttributeError from numba (GH38344)
* Bumped minimum pymysql version to 0.8.1 to avoid test failures (GH38344)
* Added reference to backwards incompatible check_freq arg of testing.assert_frame_equal() and testing.assert_series_equal() in pandas 1.1.0 whats new (GH34050)- Update to version 1.2.0
* https://pandas.pydata.org/docs/whatsnew/v1.2.0.html
* WARNING: The xlwt package for writing old-style .xls excel files is no longer maintained. The xlrd package is now only for reading old-style .xls files. Previously, the default argument engine=None to read_excel() would result in using the xlrd engine in many cases, including new Excel 2007+ (.xlsx) files. If openpyxl is installed, many of these cases will now default to using the openpyxl engine. See the read_excel() documentation for more details. Thus, it is strongly encouraged to install openpyxl to read Excel 2007+ (.xlsx) files. Please do not report issues when using ``xlrd`` to read ``.xlsx`` files. This is no longer supported, switch to using openpyxl instead. Attempting to use the xlwt engine will raise a FutureWarning unless the option io.excel.xls.writer is set to \"xlwt\". While this option is now deprecated and will also raise a FutureWarning, it can be globally set and the warning suppressed. Users are recommended to write .xlsx files using the openpyxl engine instead. Enhancements
* Optionally disallow duplicate labels
* Passing arguments to fsspec backends
* Support for binary file handles in to_csv
* Support for short caption and table position in to_latex
* Change in default floating precision for read_csv and read_table
* Experimental nullable data types for float data
* Index/column name preservation when aggregating
* GroupBy supports EWM operations directly Deprecations
* https://pandas.pydata.org/docs/whatsnew/v1.2.0.html#deprecations- Skip python36 build: New minimum supported Python is 3.7.1- Only Suggest instead of Recommend optional dependencies. Nobody wants to pull in all of those packages by default.- Remove pandas-pytest.ini- Rework test deselection- Limit to 4 pytest-xdist workers, as collection consumes a lot of memory
 
ICM