当我在 pandas 中应用“inplace”参数来运行时,我收到错误:
代码:
data = pd.read_csv("house_train.csv",usecols=["BsmtQual","FireplaceQu","GarageType"])
frequent = data['BsmtQual'].mode()[0]
data['BsmtQual'].fillna(frequent,inplace=True)
我收到警告:
FutureWarning:尝试使用就地方法通过链式赋值在 DataFrame 或 Series 的副本上设置值。 pandas 3.0 中的行为将会改变。这种就地方法永远不会起作用,因为我们设置值的中间对象始终表现为副本。
例如,在执行
df[col].method(value, inplace=True)
时,尝试使用 df.method({col: value}, inplace=True)
或 df[col] = df[col].method(value)
来代替,在原始对象上执行操作。
data['BsmtQual'].fillna(frequent,inplace=True)
因为
data['BsmtQual']
链接到 data
。
要遵循警告说明,请尝试:
data.fillna({"BsmtQual": frequent}, inplace=True)