1.5.1 的新增内容(2022 年 10 月 19 日)# 这些是 pandas 1.5.1 中的变化。请参阅发行说明以获取完整的变更日志,包括其他版本的 pandas。 groupby分类石斑鱼的行为( GH 48645 ) # 在 1.5 之前的 pandas 版本中,当石斑鱼是分类 dtype 时,groupbywith仍然会删除 NA 值。 dropna=False1.5 中尝试对此进行修复,但是它引入了回归,其中传递observed=False和 dropna=Falsetogroupby只会导致观察到的类别。我们发现修复该dropna=False错误的补丁与 不兼容observed=False,并决定最好的解决方案是以observed=False 重新引入该错误为代价来恢复正确的行为dropna=False。 In [1]: df = pd.DataFrame( ...: { ...: "x": pd.Categorical([1, None], categories=[1, 2, 3]), ...: "y": [3, 4], ...: } ...: ) ...: In [2]: df Out[2]: x y 0 1 3 1 NaN 4 1.5.0行为: In [3]: # Correct behavior, NA values are not dropped df.groupby("x", observed=True, dropna=False).sum() Out[3]: y x 1 3 NaN 4 In [4]: # Incorrect behavior, only observed categories present df.groupby("x", observed=False, dropna=False).sum() Out[4]: y x 1 3 NaN 4 1.5.1 行为: # Incorrect behavior, NA values are dropped In [3]: df.groupby("x", observed=True, dropna=False).sum() Out[3]: y x 1 3 NaN 4 # Correct behavior, unobserved categories present (NA values still dropped) In [4]: df.groupby("x", observed=False, dropna=False).sum() Out[4]: y x 1 3 2 0 3 0 NaN 4 固定回归# 修复了对象数据类型Series.__setitem__()转换中None的回归( GH 48665)NaN DataFrame.loc()修复了将值设置为DataFrame所有索引器时的回归True(GH 48701) 使用已读取的 UTF-8 文件句柄时read_csv()导致的回归( GH 48646 )EmptyDataError to_datetime()何时回归utc=True并arg包含时区天真的和有意识的争论提出了ValueError(GH 48678) 修复了设置空时DataFrame.loc()提升的回归(GH 48480)FutureWarningDataFrame 修复了结果包含时DataFrame.describe()引发的回归(GH 48778)TypeErrorNA 修复了DataFrame.plot()忽略无效的colormap回归kind="scatter"(GH 48726) 修复了MultiIndex.values()重置freq基础对象属性的回归Index(GH 49054) 修复了不存在factorize()时的性能回归(GH 48620)na_sentinelNonesort=False 修复了回归问题AttributeError,如果提供的表名DataFrame.to_sql()与数据库中实际使用的表名不匹配,则会导致发出期间警告(GH 48733) to_datetime()修复了何时arg包含纳秒日期字符串并format包含的回归%f会引发ValueError( GH 48767 ) 修复了使用and进行testing.assert_frame_equal()提升时的回归(GH 48975)MultiIndexCategoricalcheck_like=True 修复了替换dtype 和( GH 48863 )DataFrame.fillna()错误值时的回归问题datetime64[ns]inplace=True 修复了DataFrameGroupBy.size()以下情况时不返回系列的问题axis=1(GH 48738) DataFrameGroupBy.apply()修复了在空数据帧上调用用户定义函数时的回归( GH 47985) 修复了通过关键字参数DataFrame.apply()传递非零时的回归( GH 48656)axis 修复了石斑鱼为可空数据类型(例如)或 PyArrow 支持的字符串数组、包含空值以及(GH 48794)Series.groupby()时的回归问题DataFrame.groupby()Int64dropna=False 修复了数据类型不匹配的性能回归Series.isin()(GH 49162) DataFrame.to_parquet()修复了当文件名指定为bytes(GH 48944)时引发的回归问题 修复了无法再设置属性的ExcelWriter回归问题;book然而,设置此属性现在已被弃用,并且此功能将在 pandas 的未来版本中删除(GH 48780) 修复了使用(GH 48826)DataFrame.corrwith()计算绑定数据相关性时的回归method="spearman" Bug修复# Series.__getitem__()不回退到整数键和布尔值位置的错误Index(GH 48653) 使用布尔索引DataFrame.to_hdf()提升时的错误( GH 48667)AssertionError testing.assert_index_equal()具有不匹配NA提升的扩展数组的错误ValueError(GH 48608) 将日期时间列设置为索引时DataFrame.pivot_table()引发意外的错误( GH 48683)FutureWarning 使用布尔稀疏列调用时DataFrame.sort_values()发出不必要的错误( GH 48784)FutureWarningDataFrame 使用arrays.ArrowExtensionArray与无效对象的比较运算符的错误不会引发NotImplementedError( GH 48833 ) 其他# 内省函数时避免显示已弃用的签名,并发出有关参数变为仅关键字的警告(GH 48692) 贡献者# 共有 16 人为此版本贡献了补丁。名字带有“+”的人首次贡献了补丁。 阿梅·帕特尔 + 迪帕克·西罗希瓦尔 + 丹尼斯·查昆塔 高拉夫·谢尼 希曼舒·瓦格 + 洛伦佐·瓦尼利 + 马克·加西亚 马可·爱德华·戈雷利 马修·罗斯克 米塞克斯机器 诺亚·塔米尔 熊猫开发团队 帕特里克·赫夫勒 理查德·沙德拉赫 尚塔努 托斯顿·沃特温