【发布时间】:2020-10-29 13:21:30
【问题描述】:
我的因变量列中有一个包含多个 NaN 值的数据集。我已将该集合拆分为因变量和自变量,我目前正在尝试用 0 替换因变量列中的所有 NaN 值。但是,在为此目的使用 SimpleImputer 时出现错误。
这是我的代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
"""
----- Read Dataset and Split into Dependent and Independent Variables: -----
"""
dataset = pd.read_csv('Salary_Data.csv')
x = dataset.iloc[:, 1:-1].values
y = dataset.iloc[:, -1].values
print("\nIndependent Variables: \n%s" % x)
print("\nDependent Variables: \n%s" % y)
"""
----- Fill in Missing Values: -----
"""
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values = np.nan, strategy = 'constant', fill_value = 0)
y = imputer.fit(y)
print("\nDependent Variables After Missing Values Adjusted: \n%s" % y)
这是我得到的错误:
Expected 2D array, got 1D array instead:
array=[270000. 200000. 250000. nan 425000. nan nan 252000. 231000.
nan 260000. 250000. nan 218000. nan 200000. 300000. nan
【问题讨论】:
-
错误到底是在哪里弹出的?请使用完整的错误跟踪更新您的问题。
标签: python machine-learning scikit-learn imputation