本文介绍: python np.loadtxt() 读取数据集时报错ValueError: could not convert string to float以及pandas.readcsv()对比4、常见的两种读取csv文件方式读以下两篇文章即可:《numpy中loadtxt 的用法及参数说明》《pandas中read_csv详解》1、注意numpy中loadtxt()和pandas中read_csv()不一样!!!前者需要指定分隔符,不然就会读一整行。且返回的就是一个ndarray了后者可以
阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!!
1、bug
path = r"./temperature_dataset.csv"
data = np.loadtxt(path)
ValueError: could not convert string to float: ‘-0.7,-2.3,0.1,-2.3,-0.9’
2、分析
原来数据集里面有逗号,需要加个参数delimiter=‘,’ ,否则就会第一行全部转为为float,因为默认float。
3、解决办法
path = r"./temperature_dataset.csv"
data = np.loadtxt(path,delimiter=',') #一定要有第二个参数,否则报错,因为csv文件里面是用,分割开的
4、常见的两种读取csv文件方式
1、注意numpy中loadtxt()和pandas中read_csv()不一样!!!
这两个参数使用不好,很可能导致读取数据缺第一行。还是以上面例子为例:
4.1、numpy中loadtxt()正确读取
path = r"./temperature_dataset.csv"
data = np.loadtxt(path,delimiter=',') #一定要有第二个参数,否则报错,因为csv文件里面是用,分割开的
print(data.shape) #(3600,5)
4.2、pandas中read_csv()错误读取
df = pandas.read_csv('C:/Users/zct/Jupyter_test/2-1/temperature_dataset.csv')
print(df)
data = np.array(df)
print(data.shape) #(3959,5) 少了第一行
读取的csv文件是纯数据的,不指定name参数的话会默认第一行为列名。故少读一列
4.3、pandas中read_csv()正确读取
df = pandas.read_csv('C:/Users/zct/Jupyter_test/2-1/temperature_dataset.csv', names=['one','two','three','four','five'])
print(df)
data = np.array(df)
print(data.shape) #(3960, 5)
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!
原文地址:https://blog.csdn.net/qq_40967086/article/details/127224733
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_47090.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。