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