编程语言
首页 > 编程语言> > Python – 输入包含NaN,无穷大或对于dtype(‘float64’)来说太大的值

Python – 输入包含NaN,无穷大或对于dtype(‘float64’)来说太大的值

作者:互联网

我是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(),似乎还有6个非null用户值,而不是任何其他列的值.这表示在每个其他列中有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

标签:python,pandas,machine-learning,k-means,scikit-learn
来源: https://codeday.me/bug/20190628/1313648.html