1.0.2 版本更新内容 (2020年3月12日)#
以下是 pandas 1.0.2 中的更改。有关包括其他 pandas 版本的完整更改日志,请参阅发布说明。
已修复的回归#
Groupby
修复了
DataFrameGroupBy.agg()
和SeriesGroupBy.agg()
的回归,之前它们在具有MultiIndex
列和自定义函数的数据帧上失败 (GH 31777)修复了
groupby(..).rolling(..).apply()
(RollingGroupby
) 的回归,其中raw
参数被忽略 (GH 31754)修复了
rolling(..).corr()
在使用时间偏移时的回归 (GH 31789)修复了
groupby(..).nunique()
的回归,之前在存在NaN
值时会修改原始值 (GH 31950)修复了
DataFrame.groupby
因内部操作引发ValueError
的回归 (GH 31802)修复了
DataFrameGroupBy.agg()
和SeriesGroupBy.agg()
的回归,之前它们在空输入上会额外调用一次用户提供的函数 (GH 31760)
I/O
修复了
read_csv()
的回归,其中某些文件类对象无法识别encoding
选项 (GH 31819)修复了在传递
columns
关键字参数时DataFrame.to_excel()
的回归 (GH 31677)修复了
read_pickle()
的回归,之前在读取具有MultiIndex
列的 py27 pickle 文件时会引发UnicodeDecodeError
(GH 31988)。
重新索引/对齐
修复了
Series.align()
的回归,之前在other
为DataFrame
且method
不为None
时发生 (GH 31785)修复了
DataFrame.reindex()
和Series.reindex()
的回归,之前在使用 (时区感知) 索引和method=nearest
进行重新索引时发生 (GH 26683)修复了
DataFrame.reindex_like()
在DataFrame
子类上引发AssertionError
的回归 (GH 31925)
其他
修复了在简单情况下,通过
DatetimeIndex
或TimedeltaIndex
进行连接时无法保留freq
的回归 (GH 32166)修复了
Series.shift()
在datetime64
数据类型下,当传递整数fill_value
时发生的回归 (GH 32591)
使用可空布尔数组进行索引#
之前,使用包含 NA
的可空布尔数组进行索引会引发 ValueError
,但现在允许这样做,且 NA
将被视为 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
错误修复#
日期时间类型
修复了
Series.astype()
的一个错误,之前它在处理时区不敏感和时区敏感的datetime64
数据类型时未进行复制 (GH 32490)修复了
to_datetime()
的一个错误,之前在传入pd.NA
时会引发异常 (GH 32213)
分类
修复了
Categorical.from_codes()
的一个错误,之前在传入可空整数代码时会不恰当地引发ValueError
。 (GH 31779)修复了
Categorical()
构造函数的一个错误,之前在给定包含pd.NA
的 numpy 数组时会引发TypeError
。 (GH 31927)修复了
Categorical
的一个错误,之前在调用Series.replace()
并传入类列表的to_replace
时会忽略或崩溃 (GH 31720)
I/O
现在,将
pd.NA
与DataFrame.to_json()
一起使用时,会正确输出 null 值而不是空对象 (GH 31615)修复了
pandas.json_normalize()
的一个错误,之前在元路径中的值不可迭代时发生 (GH 31507)修复了
pandas.NA
的序列化 (pickling) 问题。之前会返回一个新对象,这破坏了依赖NA
作为单例的计算 (GH 31847)修复了 Parquet 往返过程中可空无符号整数数据类型的一个错误 (GH 31896)。
实验性数据类型
修复了
DataFrame.convert_dtypes()
的一个错误,之前用于已经使用"string"
数据类型的列 (GH 31731)。修复了
DataFrame.convert_dtypes()
的一个错误,之前用于整数和字符串混合的序列 (GH 32117)修复了
DataFrame.convert_dtypes()
的一个错误,之前BooleanDtype
列被转换为Int64
(GH 32287)修复了使用字符串数据类型的切片索引器设置值时的一个错误 (GH 31772)
修复了
DataFrameGroupBy.first()
、SeriesGroupBy.first()
、DataFrameGroupBy.last()
和SeriesGroupBy.last()
的一个错误,之前当分组中包含对象数据类型列的pd.NA
时会引发TypeError
(GH 32123)修复了
DataFrameGroupBy.mean()
、DataFrameGroupBy.median()
、DataFrameGroupBy.var()
和DataFrameGroupBy.std()
的一个错误,之前它们在Int64
数据类型列上会引发TypeError
(GH 32219)
字符串
现在,将
pd.NA
与Series.str.repeat()
一起使用时,会正确输出 null 值,而不是对矢量输入引发错误 (GH 31632)
滚动
修复了在时间索引递减的情况下,使用可变窗口(由时间持续时间定义)进行滚动操作的问题 (GH 32385)。
贡献者#
共有25人为此版本贡献了补丁。名字旁有“+”号的人是首次贡献补丁。
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