Python工程实践之np.loadtxt()读取数据

 更新时间:2023年07月14日 09:23:48   作者:DonngZH  
为了方便使用和记忆,有时候我们会把numpy.loadtxt()缩写成np.loadtxt(),这篇文章主要给大家介绍了关于Python工程实践之np.loadtxt()读取数据的相关资料,需要的朋友可以参考下

前言

机器学习中使用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时需要考虑数据本身的类型。

#设置dtype
data = np.loadtxt('./data/data.csv',dtype=np.float32)
#设置dtype
data = 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之后再次读取,矩阵的列变为了行。

1-4 np.loadtxt()读取csv文件 

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

原始csv文件内容:

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

总结 

到此这篇关于Python工程实践之np.loadtxt()读取数据的文章就介绍到这了,更多相关np.loadtxt()读取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Keras: model实现固定部分layer,训练部分layer操作

    Keras: model实现固定部分layer,训练部分layer操作

    这篇文章主要介绍了Keras: model实现固定部分layer,训练部分layer操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python密码学Caesar Cipher凯撒密码算法教程

    Python密码学Caesar Cipher凯撒密码算法教程

    这篇文章主要为大家介绍了Python密码学Caesar Cipher凯撒密码算法教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • spyder快捷键与python符号化输出方式

    spyder快捷键与python符号化输出方式

    这篇文章主要介绍了spyder快捷键与python符号化输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Tensorflow2.4使用Tuner选择模型最佳超参详解

    Tensorflow2.4使用Tuner选择模型最佳超参详解

    这篇文章主要介绍了Tensorflow2.4使用Tuner选择模型最佳超参详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Python绘制地图神器folium的新人入门指南

    Python绘制地图神器folium的新人入门指南

    folium库是一个用于完成地图可视化的Python扩展库,下面这篇文章主要给大家介绍了关于Python绘制地图神器folium入门的相关资料,需要的朋友可以参考下
    2021-05-05
  • python flask web服务实现更换默认端口和IP的方法

    python flask web服务实现更换默认端口和IP的方法

    今天小编就为大家分享一篇python flask web服务实现更换默认端口和IP的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python的类方法和静态方法

    python的类方法和静态方法

    这篇文章主要介绍了python的类方法和静态方法,以实例形式分析了Python中类方法和静态方法的实现技巧与应用方法,需要的朋友可以参考下
    2014-12-12
  • 8个Python编程进阶常用技巧分享

    8个Python编程进阶常用技巧分享

    介绍 Python 炫酷功能的文章层出不穷,但是还有很多 Python 的编程小技巧鲜被提及,所以本文会试着介绍一些其它文章没有提到的小技巧,让我们一探究竟吧
    2023-07-07
  • 如何基于线程池提升request模块效率

    如何基于线程池提升request模块效率

    这篇文章主要介绍了如何基于线程池提升request模块效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Numpy中arange()的用法及说明

    Numpy中arange()的用法及说明

    Numpy的arange()函数用于在指定间隔内生成均匀间隔的数组,它接受开始值、停止值和步长来创建数组,返回的是ndarray类型,如果没有提供dtype,则会根据其他参数推断数据类型,对于浮点类型参数,结果数组的长度计算方式为ceil((stop-start)/step)
    2024-10-10

最新评论