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。更多信息请参见 Dropping 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)修复了具有长名称的分层列的 DataFrame 的固定打印 (GH 21180)
修复了在包含分类日期时间值的 MultiIndex 或多键的
reindex()和groupby()中的回归问题 (GH 21390)。修复了对象dtype的一元负操作中的回归问题 (GH 21380)
当时间戳是舍入频率的倍数时,
Timestamp.ceil()和Timestamp.floor()中的错误 (GH 21262)修复了
to_clipboard()中的回归问题,默认情况下以空格分隔而不是制表符分隔复制数据框 (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时,会导致错误的不正确抛出 (GH 21141)在格式化带有整数列的
record_prefix时,json_normalize()中的错误 (GH 21536)
分类
时区
在
Timestamp和DatetimeIndex中的一个错误,当传递一个在 DST 转换后本地化的Timestamp时,会返回一个在 DST 转换前的日期时间 (GH 20854)在比较带有 tz-aware
DatetimeIndex列的DataFrame时出现的 Bug,该列涉及 DST 转换,引发了KeyError(GH 19970)在
DatetimeIndex.shift()中的错误,当跨越夏令时(DST)时会引发AssertionError(GH 8616)Timestamp构造函数中的一个错误,其中传递无效的时区偏移指示符(Z)不会引发ValueError(GH 8910)在
Timestamp.replace()中替换到夏令时边界时会保留不正确的偏移的错误 (GH 7825)在重新索引一个时区无和有时区的
DatetimeIndex时,DatetimeIndex.reindex()中的错误 (GH 8306)在跨越夏令时边界进行降采样时
DatetimeIndex.resample()中的错误 (GH 8531)
Timedelta
贡献者#
总共有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