What’s new in 1.0.2 (March 12, 2020)#
These are the changes in pandas 1.0.2. See Release notes for a full changelog including other versions of pandas.
Fixed regressions#
Groupby
Fixed regression in
DataFrameGroupBy.agg()andSeriesGroupBy.agg()which were failing on frames withMultiIndexcolumns and a custom function (GH 31777)Fixed regression in
groupby(..).rolling(..).apply()(RollingGroupby) where therawparameter was ignored (GH 31754)Fixed regression in
rolling(..).corr()when using a time offset (GH 31789)Fixed regression in
groupby(..).nunique()which was modifying the original values ifNaNvalues were present (GH 31950)Fixed regression in
DataFrame.groupbyraising aValueErrorfrom an internal operation (GH 31802)Fixed regression in
DataFrameGroupBy.agg()andSeriesGroupBy.agg()calling a user-provided function an extra time on an empty input (GH 31760)
I/O
Fixed regression in
read_csv()in which theencodingoption was not recognized with certain file-like objects (GH 31819)Fixed regression in
DataFrame.to_excel()when thecolumnskeyword argument is passed (GH 31677)Fixed regression in
ExcelFilewhere the stream passed into the function was closed by the destructor. (GH 31467)Fixed regression where
read_pickle()raised aUnicodeDecodeErrorwhen reading a py27 pickle withMultiIndexcolumn (GH 31988).
Reindexing/alignment
Fixed regression in
Series.align()whenotheris aDataFrameandmethodis notNone(GH 31785)Fixed regression in
DataFrame.reindex()andSeries.reindex()when reindexing with (tz-aware) index andmethod=nearest(GH 26683)Fixed regression in
DataFrame.reindex_like()on aDataFramesubclass raised anAssertionError(GH 31925)Fixed regression in
DataFramearithmetic operations with mis-matched columns (GH 31623)
Other
Fixed regression in joining on
DatetimeIndexorTimedeltaIndexto preservefreqin simple cases (GH 32166)Fixed regression in
Series.shift()withdatetime64dtype when passing an integerfill_value(GH 32591)Fixed regression in the repr of an object-dtype
Indexwith bools and missing values (GH 32146)
Indexing with nullable boolean arrays#
Previously indexing with a nullable Boolean array containing NA would raise a ValueError, however this is now permitted with NA being treated as False. (GH 31503)
In [1]: s = pd.Series([1, 2, 3, 4])
In [2]: mask = pd.array([True, True, False, None], dtype="boolean")
In [3]: s
Out[3]:
0 1
1 2
2 3
3 4
Length: 4, dtype: int64
In [4]: mask
Out[4]:
<BooleanArray>
[True, True, False, <NA>]
Length: 4, dtype: boolean
pandas 1.0.0-1.0.1
>>> s[mask]
Traceback (most recent call last):
...
ValueError: cannot mask with array containing NA / NaN values
pandas 1.0.2
In [5]: s[mask]
Out[5]:
0 1
1 2
Length: 2, dtype: int64
Bug fixes#
Datetimelike
Bug in
Series.astype()not copying for tz-naive and tz-awaredatetime64dtype (GH 32490)Bug where
to_datetime()would raise when passedpd.NA(GH 32213)Improved error message when subtracting two
Timestampthat result in an out-of-boundsTimedelta(GH 31774)
Categorical
Fixed bug where
Categorical.from_codes()improperly raised aValueErrorwhen passed nullable integer codes. (GH 31779)Fixed bug where
Categorical()constructor would raise aTypeErrorwhen given a numpy array containingpd.NA. (GH 31927)Bug in
Categoricalthat would ignore or crash when callingSeries.replace()with a list-liketo_replace(GH 31720)
I/O
Using
pd.NAwithDataFrame.to_json()now correctly outputs a null value instead of an empty object (GH 31615)Bug in
pandas.json_normalize()when value in meta path is not iterable (GH 31507)Fixed pickling of
pandas.NA. Previously a new object was returned, which broke computations relying onNAbeing a singleton (GH 31847)Fixed bug in parquet roundtrip with nullable unsigned integer dtypes (GH 31896).
Experimental dtypes
Fixed bug in
DataFrame.convert_dtypes()for columns that were already using the"string"dtype (GH 31731).Fixed bug in
DataFrame.convert_dtypes()for series with mix of integers and strings (GH 32117)Fixed bug in
DataFrame.convert_dtypes()whereBooleanDtypecolumns were converted toInt64(GH 32287)Fixed bug in setting values using a slice indexer with string dtype (GH 31772)
Fixed bug where
DataFrameGroupBy.first(),SeriesGroupBy.first(),DataFrameGroupBy.last(), andSeriesGroupBy.last()would raise aTypeErrorwhen groups containedpd.NAin a column of object dtype (GH 32123)Fixed bug where
DataFrameGroupBy.mean(),DataFrameGroupBy.median(),DataFrameGroupBy.var(), andDataFrameGroupBy.std()would raise aTypeErroronInt64dtype columns (GH 32219)
Strings
Using
pd.NAwithSeries.str.repeat()now correctly outputs a null value instead of raising error for vector inputs (GH 31632)
Rolling
Fixed rolling operations with variable window (defined by time duration) on decreasing time index (GH 32385).
Contributors#
A total of 25 people contributed patches to this release. People with a “+” by their names contributed a patch for the first time.
Anna Daglis +
Daniel Saxton
Irv Lustig
Jan Škoda
Joris Van den Bossche
Justin Zheng
Kaiqi Dong
Kendall Masse
Marco Gorelli
Matthew Roeschke
MeeseeksMachine
MomIsBestFriend
Pandas Development Team
Pedro Reys +
Prakhar Pandey
Robert de Vries +
Rushabh Vasani
Simon Hawkins
Stijn Van Hoey
Terji Petersen
Tom Augspurger
William Ayd
alimcmaster1
gfyoung
jbrockmendel