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