本文介绍: python np.loadtxt() 读取数据集时报错ValueError: could not convert string to float以及pandas.readcsv()对比4、常见的两种读取csv文件方式读以下两篇文章即可:《numpyloadtxt用法参数说明》《pandasread_csv详解》1、注意numpyloadtxt()和pandasread_csv()不一样!!!前者需要指定分隔符,不然就会读一整行。且返回就是一个ndarray了后者可以

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!!

1、bug

读取csv数据集时

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、解决办法

加个参数delimiter=‘,’

path = r"./temperature_dataset.csv"
data = np.loadtxt(path,delimiter=',')     #一定要有第二个参数,否则报错,因为csv文件里面是用,分割开的

4、常见的两种读取csv文件方式

1、numpyloadtxt()
2、pandasread_csv()

读以下两篇文章即可

《numpy中loadtxt 的用法及参数说明》

《pandas中read_csv详解》

1、注意numpyloadtxt()和pandasread_csv()不一样!!!

两个参数使用不好,很可能导致读取数据第一行还是以上面例子为例

4.1、numpyloadtxt()正确读取

path = r"./temperature_dataset.csv"
data = np.loadtxt(path,delimiter=',')     #一定要有第二个参数,否则报错,因为csv文件里面是用,分割开的
print(data.shape)    #(3600,5)

4.2、pandasread_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进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注