numpy.loadtxt,ValueError:无法将字符串转换为浮点型 [英] numpy.loadtxt, ValueError: could not convert string to float

查看:246
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆