跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 跨境学堂 > 【工程实践】np.loadtxt()读取数据

【工程实践】np.loadtxt()读取数据

时间:2024-04-13 16:40:31 来源:网络cs 作者:欧阳逸 栏目:跨境学堂 阅读:

标签: 数据  实践  工程 
阅读本书更多章节>>>>

前言

        机器学习中可使用np.loadtxt()可以高效的导入数据,np.loadtxt()适合.txt文件和.csv文件。但是它默认读取float类型的值。

1.np.loadtxt()读取txt文件

1-1 基础参数

numpy.loadtxt(    fname, dtype=, comments='#',     delimiter=None, converters=None,     skiprows=0, usecols=None,     unpack=False, ndmin=0)

1-2 参数详解 

fname要读取的文件、文件名、或生成器。
dtype数据类型,默认float。
comments注释。
delimiter分隔符,默认是空格。
skiprows跳过前几行读取,默认是0,必须是int整型。
usecols要读取哪些列,0是第一列。例如,usecols = (1,4,5)将提取第2,第5和第6列。默认读取所有列。
unpack如果为True,将分列读取。

1-3 应用示例

        文件的存储路径为:'./data.txt', 文件内容如下:

 1-3-1 fname

        fname可以是文件的路径也可以是要读取的文件。 

#根据文件名直接读取data = np.loadtxt('./data/data.csv')

 1-3-2 dtype

        dtype默认为np.float32类型,也可以设置为其他类型,比如int。设置为其他dtype时需要考虑数据本身的类型。

#设置dtypedata = np.loadtxt('./data/data.csv',dtype=np.float32)#设置dtypedata = np.loadtxt('./data/data.csv',dtype=int)

  1-3-3 comments

        comment的是指, 如果行的开头为comment的值,那在读取时就会跳过该行。示例代码中comment  = '1',则在读取数据时,会跳过开头为1的行。

data = np.loadtxt('./data.txt',dtype = int,comments='1')

1-3-4 delimiter 

        delimiter是分隔符,默认是空格。

data = np.loadtxt('./data.txt',dtype = int,comments='1',delimiter=' ')

        我们改变一下数据,将数据中的分隔符改为','之后再重新读取。

data = np.loadtxt('./data.txt',dtype = int,delimiter=',')

 1-3-5 skiprows

        skiprows跳过前几行读取,默认是0,必须是int整型。skiprows = 2则表示跳过前两行读取数据。

data = np.loadtxt('./data.txt',dtype = int,delimiter=',',skiprows=2)

        读取数据时,设定 skiprows = 2,则将前两行跳过,从第三行开始读取。

1-3-6 usecols

        usecols要读取哪些列,0是第一列。例如,usecols = (1,4,5)将提取第2,第5和第6列。默认读取所有列。

        读取第2列数据。

data = np.loadtxt('./data.txt',dtype = int,delimiter=',',usecols = 1)

        读取第2,6,9列数据。 

data = np.loadtxt('./data.txt',dtype = int,delimiter=',',usecols =(1,5,8))

1-3-7 unpack

        unpack如果设置为Ture,将分列读取,类似于矩阵的转置。

        未设置之前,数据读取时是以行为单位进行读取。

         设置unpack=Ture之后再次读取,矩阵的列变为了行。

2 np.loadtxt()读取csv文件 

        读取csv文件与读取txt文件的参数一致,需要注意的是csv文件的分隔符一般是“,”并且含有表头,所以需要使用delimiter=','作为分隔符,以及使用skiprows=1跳过表头。

        原始csv文件内容:

#根据data_path读取文件内容train_XY  = np.loadtxt(data_path, delimiter=',', skiprows = 1,dtype=np.float32)

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/xuetang/2024-04-13/158167.html,文章来源:网络cs,作者:欧阳逸,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论