猿问

TypeError: 'NoneType' 不可迭代

我想创建一个没有目标的浮动特征数据框,以便我可以进一步操作它们。


我试过了:


float_col = data.select_dtypes('float').drop(['TARGET'], axis=1, inplace=True)


# Remove sparse numerical features

for f in float_col:

   if data[f].isnull().sum() / data.shape[0] > 0.1667: del data[f] #Remove above 1/6 of NANs

...返回:


TypeError: 'NoneType' 对象不可迭代


我也试过这样做:


float_col = data.select_dtypes('float').drop(['TARGET'], axis=1, inplace=True).update()

...返回:


AttributeError: 'NoneType' 对象没有属性 'update'


我相信这个问题是由目标下降引起的。


RISEBY
浏览 268回答 1
1回答

慕娘9325324

当你调用应用更改方法到位,None则返回。你用过.drop(..., inplace=True):data.select_dtypes('float').drop(['TARGET'], axis=1, inplace=True)所以data.select_dtypes(...)直接改变了的结果并None赋值给了float_col。您不能在 上使用迭代(如for循环)None。从DataFrame.drop()方法文档:就地:布尔,默认为假如果True,就地进行操作并返回None。如果您想获取float除 之外的所有列TARGET,则只需删除inplace=True:float_col = data.select_dtypes('float').drop(['TARGET'], axis=1)
随时随地看视频慕课网APP

相关分类

Python
我要回答