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