返回带有错误集的结果,python,scikit-learn"/>

首页 > 解决方案 > sklearn SimpelImputer 系统错误:返回带有错误集的结果

问题描述

我在管道中输入缺失值。

在此处输入图像描述

在第一步中,我使用以下变量对变量进行分类:

df_listings['original.listing.rooms.bedrooms.count'] = pd.cut(df_listings['original.listing.rooms.bedrooms.count'], bins = [1,2,3,4,5,6,10,50])
df_listings = df_listings.fillna(np.nan)

在此处输入图像描述

在第二步中,我想使用

si = SimpleImputer(missing_values=np.nan,strategy="most_frequent")
si.fit_transform(df_listings[['original.listing.rooms.bedrooms.count']])

即使我使用其他变量遵循此流程,但在这里我收到以下错误:

TypeError: unsupported operand type(s) for +: 'pandas._libs.interval.Interval' and 'pandas._libs.interval.Interval'

The above exception was the direct cause of the following exception:


...

SystemError: <built-in function _abc_instancecheck> returned a result with an error set

我不明白我收到此错误的原因。对于其他变量,我可以使用 pandas.Interval,只是这个变量会导致问题。

标签: pythonscikit-learn

解决方案


当我们处理分类数据时,将 .astype(str) 添加到您的 pd.cut 就可以了。

df_listings['original.listing.rooms.bedrooms.count'] = pd.cut(df_listings['original.listing.rooms.bedrooms.count'], bins = [1,2,3,4,5,6,10,50]).astype(str)

推荐阅读