python中运行错误,关于聚类算法出现的nan值问题

python中运行错误,关于聚类算法出现的nan值问题,第1张

说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的。
解决办法是把样本数据中包含nan值的数据剔除,
或者如果样本数据都是数值的话可以把nan值都改成0。

按照你所说A,B有0元素
所以C有0元素(0除以非0)或者inf元素(非零除以0),或者nan元素(0除以0)
要在排序的时候忽略他们,只要将他们改写为一定排不上前100的数就可以了
要找最大的元素的时候,可以将对应的数改为-inf,那么这些数肯定排在最小
要找最小的元素的时候,可以将对应的数给为inf,那么这些数肯定排在最大
数据足够多的时候,前100个数肯定就没有它们的身影
例如在C中忽略nan,找前100个最大的数
D=C;
D(isnan(D))=-inf;
sD=sort(D,'descend'); %降序排序
Result =sD(1:100);
不用用到索引
要忽略某些值,只要让那些等于哪些值的值变为-inf就可以了
忽略inf:D(isinf(D))=-inf;
忽略0:D(D==0)=-inf;
找最小的时候,将这些值给为inf,用升序排列

MySQL中有个ifnull函数,可以帮你搞定。
ifnull(expr1,expr2)表示如果expr1不是null,则返回expr1,否则返回expr2,针对题主的问题,可以使用 ifnull(列名,0)

举了个栗子

var arr = [NaN,1,5,6,7];
for(var i=0;i<arrlength;i++){
if(isNaN(arr[i])){
arr[i]=0;
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13340292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存