Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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、无穷大或对数据类型太大的值(';float64';)_Python_Pandas_Machine Learning_Scikit Learn_K Means - Fatal编程技术网

Python-输入包含NaN、无穷大或对数据类型太大的值(';float64';)

Python-输入包含NaN、无穷大或对数据类型太大的值(';float64';),python,pandas,machine-learning,scikit-learn,k-means,Python,Pandas,Machine Learning,Scikit Learn,K Means,我是Python新手。我正在尝试使用sklearn.cluster。 这是我的密码: from sklearn.cluster import MiniBatchKMeans kmeans=MiniBatchKMeans(n_clusters=2) kmeans.fit(df) 但我得到了以下错误: 50 and not np.isfinite(X).all()): 51 raise ValueError("Input contain

我是Python新手。我正在尝试使用sklearn.cluster。 这是我的密码:

from sklearn.cluster import MiniBatchKMeans

kmeans=MiniBatchKMeans(n_clusters=2)
kmeans.fit(df)
但我得到了以下错误:

     50             and not np.isfinite(X).all()):
     51         raise ValueError("Input contains NaN, infinity"
---> 52                          " or a value too large for %r." % X.dtype)

 ValueError: Input contains NaN, infinity or a value too large for dtype('float64')
我检查了是否没有Nan或无穷大值。所以只剩下一个选择了。然而,我的数据信息告诉我所有变量都是float64,所以我不知道问题来自哪里

df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 362358 entries, 135 to 4747145
Data columns (total 8 columns):
User         362358 non-null float64
Hour         362352 non-null float64
Minute       362352 non-null float64
Day          362352 non-null float64
Month        362352 non-null float64
Year         362352 non-null float64
Latitude     362352 non-null float64
Longitude    362352 non-null float64
dtypes: float64(8)
memory usage: 24.9 MB
df.info()
INT64索引:362358条,135至47145
数据列(共8列):
用户362358非空浮点64
小时362352非空浮点64
第362352分钟非空浮点64
第362352天非空浮点64
第362352个月非空浮动64
年份362352非空浮点64
纬度362352非空浮点64
经度362352非空浮点64
数据类型:float64(8)
内存使用率:24.9 MB
非常感谢,

我认为它只接受“类似数组、形状=[n_样本、n_特征]”,而不接受熊猫数据帧。因此,尝试将数据帧的值传递给它,如下所示:

kmeans=MiniBatchKMeans(n_clusters=2)
kmeans.fit(df.values)

或对其进行塑形以正确运行函数。希望能有所帮助。

通过查看您的
df.info()
,似乎非空用户值比任何其他列的值多6个。这表明其他每列中都有6个空值,这就是错误的原因

<class 'pandas.core.frame.DataFrame'>
Int64Index: 362358 entries, 135 to 4747145
Data columns (total 8 columns):
User         362358 non-null float64
Hour         362352 non-null float64
Minute       362352 non-null float64
Day          362352 non-null float64
Month        362352 non-null float64
Year         362352 non-null float64
Latitude     362352 non-null float64
Longitude    362352 non-null float64
dtypes: float64(8)
memory usage: 24.9 MB

INT64索引:362358条,135至47145
数据列(共8列):
用户362358非空浮点64
小时362352非空浮点64
第362352分钟非空浮点64
第362352天非空浮点64
第362352个月非空浮动64
年份362352非空浮点64
纬度362352非空浮点64
经度362352非空浮点64
数据类型:float64(8)
内存使用率:24.9 MB
通过查看df.info(),似乎非空用户值比任何其他列的值多6个。这表明其他每列中都有6个空值,这就是错误的原因

<class 'pandas.core.frame.DataFrame'>
Int64Index: 362358 entries, 135 to 4747145
Data columns (total 8 columns):
User         362358 non-null float64
Hour         362352 non-null float64
Minute       362352 non-null float64
Day          362352 non-null float64
Month        362352 non-null float64
Year         362352 non-null float64
Latitude     362352 non-null float64
Longitude    362352 non-null float64
dtypes: float64(8)
memory usage: 24.9 MB
因此,您可以使用iloc()将数据切片到合适的位置:

df=pd.read\u csv(位置1,encoding=“ISO-8859-1”).iloc[2:20]
范围索引:18项,2至19项
数据列(共6列):
邮政编码18非空int64
纬度18非空浮点64
经度18非空浮点64
城市18非空对象
状态18非空对象
county 18非空对象
数据类型:float64(2)、int64(1)、object(3)

我检查没有Nan或无穷大值。
请告诉我们您是如何做到的。对数据进行排序并检查顶部/底部值。我假设
df
是一个数据帧?如果是,请尝试
kmeans.fit(df.as_matrix())
。Scikit learn没有数据帧的概念,只有numpy阵列。谢谢@Fabio,我尝试了这个,但我仍然有相同的错误,我在相同的情况下。已验证数据没有空值,但收到上述错误消息