0.23.2中的新特性(2018年7月5日)#

这是0.23.x系列中的一个较小的错误修复版本,包括一些小的回归修复和错误修复。我们建议所有用户升级到此版本。

备注

Pandas 0.23.2是第一个与Python3.7兼容的PANDA版本 (GH20552 )

警告

从2019年1月1日开始,Pandas功能发布将只支持Python3。看见 Dropping Python 2.7 想要更多。

对整个DataFrame进行逻辑简化#

DataFrame.all()DataFrame.any() 现在接受 axis=None 将所有轴减少到标量 (GH19976 )

In [1]: df = pd.DataFrame({"A": [1, 2], "B": [True, False]})

In [2]: df.all(axis=None)
Out[2]: False

这还提供了与NumPy 1.15的兼容性,NumPy 1.15现在调度到 DataFrame.all 。对于NumPy 1.15和Pandas0.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

对于Pandas0.23.2,这将正确地返回FALSE,就像它在NumPy<1.15时所做的那样。

In [3]: np.any(pd.DataFrame({"A": [False], "B": [False]}))
Out[3]: False

固定回归#

  • 修复了中的回归问题 to_csv() 当错误地处理类似文件的对象时 (GH21471 )

  • 重新允许重复的级别名称 MultiIndex 。按名称访问具有重复名称的级别仍会引发错误 (GH19029 )。

  • 两个地方都有错误 DataFrame.first_valid_index()Series.first_valid_index() 为具有重复值的行索引引发 (GH21441 )

  • 修复了打印具有长名称的分层列的DataFrame (GH21180 )

  • 修复了中的回归问题 reindex()groupby() 具有包含类似DateTime值的多个索引或多个键 (GH21390 )。

  • 修复了具有对象数据类型的一元负运算中的回归问题 (GH21380 )

  • 窃听 Timestamp.ceil()Timestamp.floor() 当时间戳是舍入频率的倍数时 (GH21262 )

  • 修复了中的回归问题 to_clipboard() 默认情况下,复制数据帧时使用空格分隔,而不是制表符分隔 (GH21104 )

构建更改#

  • 源代码和二进制分发版不再包含测试数据文件,从而导致下载大小变小。使用时将跳过依赖这些数据文件的测试 pandas.test() 。 (GH19320 )

错误修复#

Conversion

Indexing

I/O

  • Bug in read_csv() that caused it to incorrectly raise an error when nrows=0, low_memory=True, and index_col was not None (GH21141)

  • 窃听 json_normalize() 在设置格式时 record_prefix 具有整型列 (GH21536 )

Categorical

  • 渲染中的错误 Series 使用 Categorical 在Python2.7下极少数情况下的数据类型 (GH21002 )

Timezones

  • 窃听 TimestampDatetimeIndex 在其中传递一个 Timestamp 在DST转换后本地化将在DST转换之前返回DATETIME (GH20854 )

  • Bug in comparing DataFrame with tz-aware DatetimeIndex columns with a DST transition that raised a KeyError (GH19970)

  • 窃听 DatetimeIndex.shift() 其中一个 AssertionError 在DST之间转换时将提高 (GH8616 )

  • Bug in Timestamp constructor where passing an invalid timezone offset designator (Z) would not raise a ValueError (GH8910)

  • 窃听 Timestamp.replace() 在DST边界处进行替换会保留不正确的偏移 (GH7825 )

  • Bug in DatetimeIndex.reindex() when reindexing a tz-naive and tz-aware DatetimeIndex (GH8306)

  • 窃听 DatetimeIndex.resample() 跨DST边界进行下采样时 (GH8531 )

Timedelta

  • 窃听 Timedelta 其中小于1微秒的非零时间增量被认为是假的 (GH21484 )

贡献者#

共有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