作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现一些机器学习算法,但在将数据放在一起时遇到了一些困难。
在下面的例子中,我从 UCI 加载了一个示例数据集,删除了缺少数据的行(感谢上一个问题的帮助),现在我想尝试规范化数据。
对于许多数据集,我只是使用:
valores = (valores - valores.mean()) / (valores.std())
但对于这个特定的数据集,上述方法不起作用。问题在于 mean 函数正在返回 inf
,这可能是由于精度问题。请参见下面的示例:
bcw = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data', header=None)
for col in bcw.columns:
if bcw[col].dtype != 'int64':
print "Removendo possivel '?' na coluna %s..." % col
bcw = bcw[bcw[col] != '?']
valores = bcw.iloc[:,1:10]
#mean return inf
print valores.iloc[:,5].mean()
我的问题是如何处理这个问题。看来我需要更改此列的类型,但我不知道该怎么做。
最佳答案
不太熟悉 pandas 但如果你转换成一个 numpy 数组它可以工作,试试
np.asarray(valores.iloc[:,5], dtype=np.float).mean()
关于python - 返回 inf : how can I solve this? 的 pandas DataFrame 列的 mean(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30782594/
我是一名优秀的程序员,十分优秀!