0.25.1 版本的新特性(2019年8月21日)#

这是 pandas 0.25.1 的更改。请参阅 发布 以获取包括其他版本 pandas 的完整更新日志。

IO 和 LZMA#

一些用户可能无意中安装了一个缺少标准库中 lzma 模块的不完整 Python 安装。在这种情况下,由于 ImportError (GH 27575),import pandas 失败。现在,如果 lzma 模块不存在,pandas 将发出警告,而不是引发 ImportError。任何后续尝试使用 lzma 方法都将引发 RuntimeError。缺少 lzma 模块的一个可能修复方法是确保你拥有必要的库,然后重新安装 Python。例如,在 MacOS 上使用 pyenv 安装 Python 可能会导致由于编译时未满足的系统依赖项(如 xz)而导致不完整的 Python 安装。编译将会成功,但 Python 可能在运行时失败。可以通过安装必要的依赖项然后重新安装 Python 来解决这个问题。

错误修复#

Categorical#

  • Categorical.fillna() 中的一个错误,会替换所有值,而不仅仅是那些是 NaN 的值 (GH 26215)

Datetimelike#

  • to_datetime() 中的一个错误,当传递一个没有时区的 DatetimeArrayDatetimeIndex 并且 utc=True 时,会错误地返回一个没有时区的结果 (GH 27733)

  • Period.to_timestamp() 中的一个错误,当 Period 超出 Timestamp 实现边界(大约 1677-09-21 到 2262-04-11)时,会返回一个不正确的 Timestamp 而不是引发 OutOfBoundsDatetime (GH 19643)

  • 在底层数据为只读时迭代 DatetimeIndex 的错误 (GH 28055)

时区#

  • Index 中的一个错误,当一个包含时区感知的 Timestampnp.nan 的 numpy 对象数组不会返回一个 DatetimeIndex (GH 27011)

Numeric#

  • 在使用时区感知的 DatetimeIndex 时,Series.interpolate() 中的错误 (GH 27548)

  • 打印负浮点复数时会出现错误,会引发 IndexError (GH 27484)

  • DataFrame 算术运算符(如 DataFrame.mul())与 Series 且 axis=1 的情况下,会在 DataFrame 大于调用 numexpr 的最小阈值时引发 AttributeError (GH 27636)

  • DataFrame 算术中的一个错误,结果中的缺失值被错误地用 NaN 而不是 Inf 掩盖了 (GH 27464)

转换#

  • 改进了对已弃用方法 Series.real()Series.imag() 的警告 (GH 27610)

Interval#

  • IntervalIndex 中的错误,其中 dir(obj) 会引发 ValueError (GH 27571)

索引#

  • 部分字符串索引中的错误,当使用标量如 .loc['2015'] 进行索引时,返回的是一个 NumPy 数组而不是一个 Series (GH 27516)

  • 打破涉及 Index 和其他索引类的引用循环,以允许在不运行GC的情况下对索引对象进行垃圾回收。(GH 27585, GH 27840)

  • 修复了在具有 MultiIndex 列的 DataFrame 的单个列中赋值时的回归问题 (GH 27841)。

  • 修复了在 IntervalIndex 中使用 .ix 回退的回归问题 (GH 27865)。

缺失#

IO#

  • 在读取parquet时避免调用 S3File.s3 ,因为这在s3fs版本0.3.0中已被移除 (GH 27756)

  • 当传递一个负标题时,更好的错误消息在 pandas.read_csv() 中 (GH 27779)

  • 在笔记本的HTML repr中正确遵循 min_rows 显示选项(在v0.25.0中引入)(GH 27991)。

绘图#

GroupBy/重采样/滚动#

  • 修复了在给出多个分位数时 pands.core.groupby.DataFrameGroupBy.quantile() 引发的回归问题 (GH 27526)

  • DataFrameGroupBy.transform() 中的一个错误,其中应用时区转换 lambda 函数会丢失时区信息 (GH 27496)

  • GroupBy.nth() 中的错误,其中 observed=False 被忽略用于分类分组 (GH 26385)

  • 在只读数组上窗口化的问题 (GH 27766)

  • 在传递无效的分位数时,修复了 .DataFrameGroupBy.quantile 中的段错误 (GH 27470)

重塑#

  • 如果在具有平坦 IndexSeriesDataFrame 上调用 .unstack() 并传递一个不正确的名称,则会引发 KeyError (GH 18303)

  • 错误 merge_asof() 在传递 tolerance kwarg 时无法合并 Timedelta 对象 (GH 27642)

  • margins 设置为 Truenormalize 不是 False 时,DataFrame.crosstab() 中存在错误,会引发错误。(GH 27500)

  • DataFrame.join() 现在在指定 sort 参数时抑制 FutureWarning (GH 21952)

  • 在只读数组上引发错误的 DataFrame.join() 问题 (GH 27943)

Sparse#

  • 在具有稀疏数据类型的 Series 中减少错误的Bug (GH 27080)

其他#

  • Series.replace()DataFrame.replace() 中使用类似字典的替换器替换时区感知的时间戳时存在错误 (GH 27720)

  • 在使用自定义类型索引器时,Series.rename() 中的错误。现在任何不可调用或类似字典的值都被视为标量。(GH 27814)

贡献者#

总共有5个人为这次发布贡献了补丁。名字后面带有“+”的人首次贡献了补丁。

  • Jeff Reback

  • Joris Van den Bossche

  • MeeseeksMachine +

  • Tom Augspurger

  • jbrockmendel