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 withMultiIndex
columns and a custom function (GH31777)Fixed regression in
groupby(..).rolling(..).apply()
(RollingGroupby
) where theraw
parameter was ignored (GH31754)Fixed regression in
rolling(..).corr()
when using a time offset (GH31789)Fixed regression in
groupby(..).nunique()
which was modifying the original values ifNaN
values were present (GH31950)Fixed regression in
DataFrame.groupby
raising aValueError
from an internal operation (GH31802)Fixed regression in
DataFrameGroupBy.agg()
andSeriesGroupBy.agg()
calling a user-provided function an extra time on an empty input (GH31760)
I/O
Fixed regression in
read_csv()
in which theencoding
option was not recognized with certain file-like objects (GH31819)Fixed regression in
DataFrame.to_excel()
when thecolumns
keyword argument is passed (GH31677)Fixed regression in
ExcelFile
where the stream passed into the function was closed by the destructor. (GH31467)Fixed regression where
read_pickle()
raised aUnicodeDecodeError
when reading a py27 pickle withMultiIndex
column (GH31988).
Reindexing/alignment
Fixed regression in
Series.align()
whenother
is aDataFrame
andmethod
is notNone
(GH31785)Fixed regression in
DataFrame.reindex()
andSeries.reindex()
when reindexing with (tz-aware) index andmethod=nearest
(GH26683)Fixed regression in
DataFrame.reindex_like()
on aDataFrame
subclass raised anAssertionError
(GH31925)Fixed regression in
DataFrame
arithmetic operations with mis-matched columns (GH31623)
Other
Fixed regression in joining on
DatetimeIndex
orTimedeltaIndex
to preservefreq
in simple cases (GH32166)Fixed regression in
Series.shift()
withdatetime64
dtype when passing an integerfill_value
(GH32591)Fixed regression in the repr of an object-dtype
Index
with bools and missing values (GH32146)
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
. (GH31503)
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-awaredatetime64
dtype (GH32490)Bug where
to_datetime()
would raise when passedpd.NA
(GH32213)Improved error message when subtracting two
Timestamp
that result in an out-of-boundsTimedelta
(GH31774)
Categorical
Fixed bug where
Categorical.from_codes()
improperly raised aValueError
when passed nullable integer codes. (GH31779)Fixed bug where
Categorical()
constructor would raise aTypeError
when given a numpy array containingpd.NA
. (GH31927)Bug in
Categorical
that would ignore or crash when callingSeries.replace()
with a list-liketo_replace
(GH31720)
I/O
Using
pd.NA
withDataFrame.to_json()
now correctly outputs a null value instead of an empty object (GH31615)Bug in
pandas.json_normalize()
when value in meta path is not iterable (GH31507)Fixed pickling of
pandas.NA
. Previously a new object was returned, which broke computations relying onNA
being a singleton (GH31847)Fixed bug in parquet roundtrip with nullable unsigned integer dtypes (GH31896).
Experimental dtypes
Fixed bug in
DataFrame.convert_dtypes()
for columns that were already using the"string"
dtype (GH31731).Fixed bug in
DataFrame.convert_dtypes()
for series with mix of integers and strings (GH32117)Fixed bug in
DataFrame.convert_dtypes()
whereBooleanDtype
columns were converted toInt64
(GH32287)Fixed bug in setting values using a slice indexer with string dtype (GH31772)
Fixed bug where
DataFrameGroupBy.first()
,SeriesGroupBy.first()
,DataFrameGroupBy.last()
, andSeriesGroupBy.last()
would raise aTypeError
when groups containedpd.NA
in a column of object dtype (GH32123)Fixed bug where
DataFrameGroupBy.mean()
,DataFrameGroupBy.median()
,DataFrameGroupBy.var()
, andDataFrameGroupBy.std()
would raise aTypeError
onInt64
dtype columns (GH32219)
Strings
Using
pd.NA
withSeries.str.repeat()
now correctly outputs a null value instead of raising error for vector inputs (GH31632)
Rolling
Fixed rolling operations with variable window (defined by time duration) on decreasing time index (GH32385).
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