numpy.loadtxt,ValueError:无法将字符串转换为浮点型 [英] numpy.loadtxt, ValueError: could not convert string to float
本文介绍了numpy.loadtxt,ValueError:无法将字符串转换为浮点型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是来自大型csv文件的示例:
This is sample from large csv file:
6.1;6.1;7.2;8.9;5.0;
8.9;10.0;8.9;6.1;5.0;
如果我尝试使用np.loadtxt('test.csv', delimiter=';')
将其读取到numpy数组,则会得到:
If I try to read it to numpy array with np.loadtxt('test.csv', delimiter=';')
I get:
ValueError:无法将字符串转换为float:
ValueError: could not convert string to float:
不知道为什么吗?
推荐答案
您需要从行中删除结尾的';'
.
You need to strip off the trailing ';'
from the lines.
如果您知道有5列,则可能的解决方法是:
A possible workaround if you know you have 5 columns is:
np.loadtxt('test.csv', delimiter=';', usecols=range(5))
或者,使用genfromtext
代替它处理缺失值
Or, use genfromtext
instead which handles missing values
np.genfromtxt('test.csv', delimiter=';')[:,:-1]
这篇关于numpy.loadtxt,ValueError:无法将字符串转换为浮点型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文