Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这段代码将一些值转换回Nan?_Python_Pandas - Fatal编程技术网

Python 为什么这段代码将一些值转换回Nan?

Python 为什么这段代码将一些值转换回Nan?,python,pandas,Python,Pandas,我有一个数据框“cars”,带有一列“price”。最初,它有4个空值。使用: cars = cars.dropna(subset=['price']) 我把那几排扔了。然后我创建了一个新的数据框,数字车,只有数字数据。此时的Price仍然没有空值。然而,当我尝试规范化这个新数据帧中除price之外的所有值时,4个空值返回。我意识到我可以再扔一次,但为什么会这样?以下是规范化代码: numeric_cars['price'].isnull().sum() #Output 0 from skle

我有一个数据框“cars”,带有一列“price”。最初,它有4个空值。使用:

cars = cars.dropna(subset=['price'])
我把那几排扔了。然后我创建了一个新的数据框,数字车,只有数字数据。此时的Price仍然没有空值。然而,当我尝试规范化这个新数据帧中除price之外的所有值时,4个空值返回。我意识到我可以再扔一次,但为什么会这样?以下是规范化代码:

numeric_cars['price'].isnull().sum() #Output 0
from sklearn import preprocessing
price_col = numeric_cars['price'].copy()
x = numeric_cars.values #returns a numpy array
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(x)
numeric_cars = pd.DataFrame(x_scaled, columns = numeric_cols)
numeric_cars['price'] = price_col
numeric_cars['price'].isnull().sum() #Output 4

最小最大缩放器将通过执行
x=(x-min)/(max-min)
来转换数据


您确定没有任何列具有常量值吗?i、 e.最小值=最大值?也许它得到了一个0的除法,并生成了NaN。

您需要提供一个请阅读并查看为什么这只会导致4个空值?如果一列的最小值=最大值,不是每个值都会变成NaN吗?