1.0.2 版本更新内容 (2020年3月12日)#
以下是 pandas 1.0.2 中的更改。有关包括其他 pandas 版本的完整更改日志,请参阅发布说明。
已修复的回归#
Groupby
- 修复了 - DataFrameGroupBy.agg()和- SeriesGroupBy.agg()的回归,之前它们在具有- MultiIndex列和自定义函数的数据帧上失败 (GH 31777)
- 修复了 - groupby(..).rolling(..).apply()(- RollingGroupby) 的回归,其中- raw参数被忽略 (GH 31754)
- 修复了 - rolling(..).corr()在使用时间偏移时的回归 (GH 31789)
- 修复了 - groupby(..).nunique()的回归,之前在存在- NaN值时会修改原始值 (GH 31950)
- 修复了 - DataFrame.groupby因内部操作引发- ValueError的回归 (GH 31802)
- 修复了 - DataFrameGroupBy.agg()和- SeriesGroupBy.agg()的回归,之前它们在空输入上会额外调用一次用户提供的函数 (GH 31760)
I/O
- 修复了 - read_csv()的回归,其中某些文件类对象无法识别- encoding选项 (GH 31819)
- 修复了在传递 - columns关键字参数时- DataFrame.to_excel()的回归 (GH 31677)
- 修复了 - read_pickle()的回归,之前在读取具有- MultiIndex列的 py27 pickle 文件时会引发- UnicodeDecodeError(GH 31988)。
重新索引/对齐
- 修复了 - Series.align()的回归,之前在- other为- DataFrame且- method不为- None时发生 (GH 31785)
- 修复了 - DataFrame.reindex()和- Series.reindex()的回归,之前在使用 (时区感知) 索引和- method=nearest进行重新索引时发生 (GH 26683)
- 修复了 - DataFrame.reindex_like()在- DataFrame子类上引发- AssertionError的回归 (GH 31925)
其他
- 修复了在简单情况下,通过 - DatetimeIndex或- TimedeltaIndex进行连接时无法保留- freq的回归 (GH 32166)
- 修复了 - Series.shift()在- datetime64数据类型下,当传递整数- fill_value时发生的回归 (GH 32591)
使用可空布尔数组进行索引#
之前,使用包含 NA 的可空布尔数组进行索引会引发 ValueError,但现在允许这样做,且 NA 将被视为 False。 (GH 31503)
In [1]: s = pd.Series([1, 2, 3, 4])
In [2]: mask = pd.array([True, True, False, None], dtype="boolean")
In [3]: s
Out[3]: 
0    1
1    2
2    3
3    4
Length: 4, dtype: int64
In [4]: mask
Out[4]: 
<BooleanArray>
[True, True, False, <NA>]
Length: 4, dtype: boolean
pandas 1.0.0-1.0.1
>>> s[mask]
Traceback (most recent call last):
...
ValueError: cannot mask with array containing NA / NaN values
pandas 1.0.2
In [5]: s[mask]
Out[5]: 
0    1
1    2
Length: 2, dtype: int64
错误修复#
日期时间类型
- 修复了 - Series.astype()的一个错误,之前它在处理时区不敏感和时区敏感的- datetime64数据类型时未进行复制 (GH 32490)
- 修复了 - to_datetime()的一个错误,之前在传入- pd.NA时会引发异常 (GH 32213)
分类
- 修复了 - Categorical.from_codes()的一个错误,之前在传入可空整数代码时会不恰当地引发- ValueError。 (GH 31779)
- 修复了 - Categorical()构造函数的一个错误,之前在给定包含- pd.NA的 numpy 数组时会引发- TypeError。 (GH 31927)
- 修复了 - Categorical的一个错误,之前在调用- Series.replace()并传入类列表的- to_replace时会忽略或崩溃 (GH 31720)
I/O
- 现在,将 - pd.NA与- DataFrame.to_json()一起使用时,会正确输出 null 值而不是空对象 (GH 31615)
- 修复了 - pandas.json_normalize()的一个错误,之前在元路径中的值不可迭代时发生 (GH 31507)
- 修复了 - pandas.NA的序列化 (pickling) 问题。之前会返回一个新对象,这破坏了依赖- NA作为单例的计算 (GH 31847)
- 修复了 Parquet 往返过程中可空无符号整数数据类型的一个错误 (GH 31896)。 
实验性数据类型
- 修复了 - DataFrame.convert_dtypes()的一个错误,之前用于已经使用- "string"数据类型的列 (GH 31731)。
- 修复了 - DataFrame.convert_dtypes()的一个错误,之前用于整数和字符串混合的序列 (GH 32117)
- 修复了 - DataFrame.convert_dtypes()的一个错误,之前- BooleanDtype列被转换为- Int64(GH 32287)
- 修复了使用字符串数据类型的切片索引器设置值时的一个错误 (GH 31772) 
- 修复了 - DataFrameGroupBy.first()、- SeriesGroupBy.first()、- DataFrameGroupBy.last()和- SeriesGroupBy.last()的一个错误,之前当分组中包含对象数据类型列的- pd.NA时会引发- TypeError(GH 32123)
- 修复了 - DataFrameGroupBy.mean()、- DataFrameGroupBy.median()、- DataFrameGroupBy.var()和- DataFrameGroupBy.std()的一个错误,之前它们在- Int64数据类型列上会引发- TypeError(GH 32219)
字符串
- 现在,将 - pd.NA与- Series.str.repeat()一起使用时,会正确输出 null 值,而不是对矢量输入引发错误 (GH 31632)
滚动
- 修复了在时间索引递减的情况下,使用可变窗口(由时间持续时间定义)进行滚动操作的问题 (GH 32385)。 
贡献者#
共有25人为此版本贡献了补丁。名字旁有“+”号的人是首次贡献补丁。
- Anna Daglis + 
- Daniel Saxton 
- Irv Lustig 
- Jan Škoda 
- Joris Van den Bossche 
- Justin Zheng 
- Kaiqi Dong 
- Kendall Masse 
- Marco Gorelli 
- Matthew Roeschke 
- MeeseeksMachine 
- MomIsBestFriend 
- Pandas Development Team 
- Pedro Reys + 
- Prakhar Pandey 
- Robert de Vries + 
- Rushabh Vasani 
- Simon Hawkins 
- Stijn Van Hoey 
- Terji Petersen 
- Tom Augspurger 
- William Ayd 
- alimcmaster1 
- gfyoung 
- jbrockmendel