0.23.2 (2018年7月5日) 中的新特性#
这是 0.23.x 系列中的一个次要错误修复版本,包含一些小的回归修复和错误修复。我们建议所有用户升级到此版本。
注意
pandas 0.23.2 是第一个兼容 Python 3.7 的 pandas 版本 (GH 20552)
警告
自2019年1月1日起,pandas 的功能发布版本将仅支持 Python 3。更多信息请参见停止支持 Python 2.7。
v0.23.2 中的新特性
对整个 DataFrame 进行逻辑归约#
DataFrame.all() 和 DataFrame.any() 现在接受 axis=None 以将所有轴归约成一个标量 (GH 19976)
In [1]: df = pd.DataFrame({"A": [1, 2], "B": [True, False]})
In [2]: df.all(axis=None)
Out[2]: False
这也提供了与 NumPy 1.15 的兼容性,后者现在会分派给 DataFrame.all。使用 NumPy 1.15 和 pandas 0.23.1 或更早版本时,numpy.all() 将不再对每个轴进行归约
>>> # NumPy 1.15, pandas 0.23.1
>>> np.any(pd.DataFrame({"A": [False], "B": [False]}))
A False
B False
dtype: bool
使用 pandas 0.23.2,它将正确返回 False,如同在 NumPy < 1.15 版本中一样。
In [3]: np.any(pd.DataFrame({"A": [False], "B": [False]}))
Out[3]: False
已修复的回归问题#
修复了在不正确处理文件类对象时
to_csv()中的回归问题 (GH 21471)重新允许了
MultiIndex中重复的层级名称。按名称访问具有重复名称的层级仍然会引发错误 (GH 19029)。在
DataFrame.first_valid_index()和Series.first_valid_index()中,当行索引具有重复值时会引发错误 (GH 21441)修复了带有长名称分层列的 DataFrames 的打印问题 (GH 21180)
修复了在包含分类日期时间值的多级索引或多个键的情况下,
reindex()和groupby()中的回归问题 (GH 21390)。修复了对象数据类型一元负运算中的回归问题 (GH 21380)
当时间戳是舍入频率的倍数时,
Timestamp.ceil()和Timestamp.floor()中的错误 (GH 21262)修复了
to_clipboard()中的回归问题,该问题导致默认为使用空格分隔而不是制表符分隔来复制 DataFrame (GH 21104)
构建更改#
源代码和二进制发行版不再包含测试数据文件,从而减小了下载大小。使用
pandas.test()时,依赖这些数据文件的测试将被跳过。(GH 19320)
错误修复#
转换
在
Series.nlargest()中对于有符号和无符号整数数据类型,当存在最小值时出现的错误 (GH 21426)
索引
在使用分类键时,
Index.get_indexer_non_unique()中的错误 (GH 21448)在
MultiIndex的比较操作中存在的错误,当涉及nlevels == 1的 MultiIndex 时,相等/不相等比较会引发错误 (GH 21149)在
DataFrame.drop()中,对于唯一和非唯一索引的行为不一致的错误 (GH 21494)在
DataFrame.duplicated()中,列数较多时导致“最大递归深度超出”的错误 (GH 21524)。
I/O
在
read_csv()中,当nrows=0、low_memory=True且index_col不为None时,会错误地引发错误的 Bug (GH 21141)在
json_normalize()中,当使用整数列格式化record_prefix时出现的错误 (GH 21536)
分类
时区
在
Timestamp和DatetimeIndex中,一个 Bug 导致在夏令时 (DST) 转换后传递一个本地化的Timestamp会返回 DST 转换前的日期时间 (GH 20854)在比较带有夏令时 (DST) 转换的时区感知
DatetimeIndex列的DataFrame时,会引发KeyError的 Bug (GH 19970)在
DatetimeIndex.shift()中,其中在跨越夏令时 (DST) 转换进行位移时,会引发AssertionError的 Bug (GH 8616)在
Timestamp构造函数中,传递无效的时区偏移指示符 (Z) 不会引发ValueError的 Bug (GH 8910)在
Timestamp.replace()中,其中在夏令时 (DST) 边界处替换会保留不正确的偏移量的 Bug (GH 7825)在
DatetimeIndex.reindex()中,当重新索引一个时区非感知和时区感知DatetimeIndex的 Bug (GH 8306)在
DatetimeIndex.resample()中,当在夏令时 (DST) 边界处进行降采样时出现的 Bug (GH 8531)
时间差
贡献者#
共有17人为此版本贡献了补丁。名字旁带有“+”的人是首次贡献补丁。
David Krych
Jacopo Rota +
Jeff Reback
Jeremy Schendel
Joris Van den Bossche
Kalyan Gokhale
Matthew Roeschke
Michael Odintsov +
Ming Li
Pietro Battiston
Tom Augspurger
Uddeshya Singh
Vu Le +
alimcmaster1 +
david-liu-brattle-1 +
gfyoung
jbrockmendel