0.23.1 中的新增内容(2018 年 6 月 12 日)#

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

警告

从 2019 年 1 月 1 日开始,pandas 功能版本将仅支持 Python 3。有关更多信息,请参阅删除 Python 2.7

固定回归#

将系列与 datetime.date 进行比较

我们已恢复 0.23.0 更改以比较Series持有日期时间和datetime.date对象 ( GH 21152 )。在 pandas 0.22 及更早版本中,比较包含日期时间和对象的 Seriesdatetime.date会在比较之前将 强制转换datetime.date为日期时间。这与 Python、NumPy 和 不一致DatetimeIndex,它们从不考虑日期时间和datetime.date相等。

在 0.23.0 中,我们统一了 DatetimeIndex 和 Series 之间的操作,并在此过程中更改了一系列日期时间之间的比较,并且datetime.date没有警告。

我们暂时恢复了 0.22.0 行为,因此日期时间和日期可能再次比较相等,但在未来版本中恢复 0.23.0 行为。

总而言之,以下是 0.22.0、0.23.0、0.23.1 中的行为:

# 0.22.0... Silently coerce the datetime.date
>>> import datetime
>>> pd.Series(pd.date_range('2017', periods=2)) == datetime.date(2017, 1, 1)
0     True
1    False
dtype: bool

# 0.23.0... Do not coerce the datetime.date
>>> pd.Series(pd.date_range('2017', periods=2)) == datetime.date(2017, 1, 1)
0    False
1    False
dtype: bool

# 0.23.1... Coerce the datetime.date with a warning
>>> pd.Series(pd.date_range('2017', periods=2)) == datetime.date(2017, 1, 1)
/bin/python:1: FutureWarning: Comparing Series of datetimes with 'datetime.date'.  Currently, the
'datetime.date' is coerced to a datetime. In the future pandas will
not coerce, and the values not compare equal to the 'datetime.date'.
To retain the current behavior, convert the 'datetime.date' to a
datetime with 'pd.Timestamp'.
  #!/bin/python3
0     True
1    False
dtype: bool

另外,TypeError今后订购比较也会提高a。

其他修复

  • to_sql()恢复了执行多值插入的能力,因为这在某些情况下会导致回归( GH 21103)。将来这将是可配置的。

  • 修复了时区感知数据中DatetimeIndex.date和属性的回归:返回 tz 感知时间而不是 tz-naive ( GH 21267 ),并且 当输入日期具有非 UTC 时区 ( GH 21230 ) 时返回不正确的日期。DatetimeIndex.timeDatetimeIndex.timeDatetimeIndex.date

  • pandas.io.json.json_normalize()修复了使用 JSON 中的嵌套级别中的值调用时的回归None,并且不删除值为NoneGH 21158GH 21356)的键。

  • to_csv()指定压缩和编码时,错误会导致编码错误( GH 21241GH 21118

  • 阻止 pandas 通过 -OO 优化导入的错误(GH 21071

  • 当各个类别是可迭代的并且是可迭代的时,Categorical.fillna()错误地引发 a 的错误(GH 21097GH 19788TypeErrorvaluevalue

  • 修复了构造函数中的回归,None在传递时将 NA 值强制为字符串dtype=strGH 21083

  • 回归中枢轴缺失值的pivot_table()排序会给出未对齐的结果(GH 21133Categoricalindex

  • 修复了布尔索引/列合并中的回归(GH 21119)。

性能改进#

  • CategoricalIndex.is_monotonic_increasing()改进了、CategoricalIndex.is_monotonic_decreasing()CategoricalIndex.is_monotonic()( GH 21025 )的性能

  • CategoricalIndex.is_unique()改进了( GH 21107 )的性能

Bug修复

分组/重采样/滚动

数据类型特定

  • SparseArray.shape以前仅返回形状的错误SparseArray.sp_valuesGH 21126

索引

绘图

  • 新关键字(sharex、sharey)用于打开/关闭使用 pandas.DataFrame().groupby().boxplot() 生成的子图共享 x/y 轴(GH 20968

输入/输出

  • compression='zip'指定生成未压缩 zip 存档的IO 方法中的错误( GH 17778GH 21144

  • DataFrame.to_stata()阻止将数据帧导出到缓冲区和大多数类似文件的对象的错误( GH 21041

  • 错误read_stata()andStataReader无法在 Python 3 上从 Stata 14 文件(dta 版本 118)正确解码 utf-8 字符串(GH 21244

  • IO JSON 中的错误通过backread_json()读取空 JSON 架构导致错误 ( GH 21287 )orient='table'DataFrame

重塑

其他

  • IPython 中的制表符补全Index不再输出弃用警告 ( GH 21125 )

  • 阻止 pandas 在未安装 C++ 可再发行组件的 Windows 上使用的错误 ( GH 21106 )

贡献者#

共有 30 人为此版本贡献了补丁。名字带有“+”的人首次贡献了补丁。

  • 亚当·斯图尔特

  • 亚当·金 +

  • 阿里·西夫吉

  • 查默·洛 +

  • 达米尼·萨提亚 +

  • 欧文博士

  • 加布·费尔南多 +

  • 吉夫林·拉贾雅

  • 杰夫·雷巴克

  • 杰里米·申德尔 +

  • 乔里斯·范登博什

  • 卡扬·戈卡莱 +

  • 凯文·谢泼德

  • 马修·罗斯克

  • 马克斯·坎特 +

  • 李明

  • 皮里·科瓦宁 +

  • 斯特凡诺·钱丘利

  • 汤姆·奥格斯普格

  • 乌德希亚·辛格 +

  • 文焕

  • 威廉·艾德

  • 克里斯-B1

  • 格菲扬

  • H-维蒂纳里

  • 恩普拉德+

  • 西克达尔1 +

  • tmnhat2001

  • 礼帽-123

  • 泽特林+