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