python - numpy loadtxt 值错误 : invalid literal for float()

标签 python numpy

import numpy as n

a=n.loadtxt("data.txt",dtype=[('ID',int),('ID2',int),('ID3',int),
                              ('GENDER','|S1'),('ID4',int),('ID5',int)])

print len(n.unique(a[a['GENDER']==f]['ID']))

我对这段代码有疑问,我试图计算我的数据文件中有多少女性,所以我使用了 numpy .loadtxt 和 .unique 但我遇到了奇怪的(对我来说)错误

Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\xy\bazy.py", line 78, in <module>
a=n.loadtxt("C:\\Users\\DzwiedzN7\\Desktop\\plec.txt",dtype=[('ID',int),('U-  ID',int),('KIER',int),('PLEC','|S1'),('TRYB',int),('RODZAJ',int)])
File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 848, in loadtxt
items = [conv(val) for (conv, val) in zip(converters, vals)]
File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 616, in <lambda>
return lambda x: int(float(x))
ValueError: invalid literal for float(): 0,6288,10,f,3,4

我不明白,float 的迭代是什么意思?没有 float,也不应该有。

最佳答案

loadtxt 的默认分隔符是空格。您想要使用逗号,因此将参数 delimiter=',' 添加到 loadtxt 调用中。

关于python - numpy loadtxt 值错误 : invalid literal for float(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30360147/

相关文章:

python - 使用 numpy 和 pylab 绘图

python - 使用 numpy 创建大型随机 bool 矩阵

python - 如何提取标签之间的所有文本?

python - 计算(和写入)文本文件中每一行的词频

Python 和 OpenCV - 为什么经过 OpenCV 裁剪后的图像仍然可以影响原始图像?

python - 第一次出现大于 numpy 数组中给定值的值

python - 将立方体的每个平面除以其中值,无循环

python - 如何在 Outlook (2010) 全局地址列表中搜索多个姓名?

python - 如何使用 wxpython 在位图中绘制文本?

python - Google AppEngine Python Cron 作业 urllib