2011年06月08日 星期三 13:05
data = np.loadtxt(file,delimiter = ",")
有时候调用时会出现这个问题
File "C:\Python26\lib\site-packages\numpy\lib\npyio.py", line 713, in loadtxt
X.append(tuple([conv(val) for (conv, val) in zip(converters, vals)]))
ValueError: empty string for float()
通过查看数据类型,发现从表中导入的数据类型有一列是 |S8 或者<U8
但是其他列都是float,查看excel单元格也都是一样的
不知道怎么处理
2011年06月09日 星期四 10:28
方法有几个,例如可以用
a=np.load(..., dtype=np.str)
载入数据,这样得到的是一个字符串数组。
然后用np.delete删除文字列,如果文字列的下标是4的话,就:
b = np.delete(a, 4, axis=1)
最后将字符串数组转换成数值数组:
b.astype(np.float)
2011年06月09日 星期四 13:48
我也不知道哪个是文字列..
一列里都是数字,没发现有字符串的
2011年06月09日 星期四 17:42
那你一列一列的试试看,看看哪列不能转成np.float:
a[:, i].astype(np.float)
2011年06月09日 星期四 20:54
知道是哪列,这列很多数据,不知道怎么改类型
2011年06月10日 星期五 06:07
如果这列也是数字,但是无法转换成np.float的话,那就对这列也进行循环,对单个数值进行float(x)转换,捕捉不能转换的异常,看看x是什么内容。
Zeuux © 2024
京ICP备05028076号