zoukankan      html  css  js  c++  java
  • numpy.loadtxt()用法

    1.np.loadtxt 用法 读取txt文件

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

    参数的作用如下:

    1. fname

    import numpy as np
    # 首先给出最简单的loadtxt的代码,实际上就是直接写文件名, 其他关键字参数都是默认的.
    a = np.loadtxt('out.txt')
    print(a)  # a为浮点数的原因为Python默认的数字的数据类型为双精度浮点数

    结果:

    [['伤感自拍' '半身风雨半身伤' '半句别恨半心凉']
     ['官宣表白' '我是檐上三寸雪' '你是人间惊鸿客']
     ['秀闺蜜照' '含娇含笑' '宿翠残红窈窕']
     ['睡前自拍' '南风知我意' '吹梦到西州']
     ['情侣离别' '南风未起' '念你成疾']]

    2. skiprows

    # 设置skiprows=2, 就会跳过前两行,数据类型设置为字符串.
    a = np.loadtxt('out.txt',dtype=str,skiprows=2)
    print(a)

    结果:

    [['秀闺蜜照' '含娇含笑' '宿翠残红窈窕']
     ['睡前自拍' '南风知我意' '吹梦到西州']
     ['情侣离别' '南风未起' '念你成疾']]

    3.comment

    # 这里的comment的是指, 如果行的开头为*就会跳过该行(这里将睡前自拍前面加*)
    a = np.loadtxt('out.txt',dtype=str,skiprows=1,comments='*')
    print(a)

    结果:

    [['官宣表白' '我是檐上三寸雪' '你是人间惊鸿客']
     ['秀闺蜜照' '含娇含笑' '宿翠残红窈窕']
     ['情侣离别' '南风未起' '念你成疾']]

    4.delimiter

    import numpy as np
    #参数 delimiter 可以指定各种分隔符、针对特定列的转换器函数、需要跳过的行数等
    a = np.loadtxt('out.txt',dtype=str,delimiter=' ')
    print(a)

    结果:

    [['伤感自拍' '半身风雨半身伤' '半句别恨半心凉']
     ['官宣表白' '我是檐上三寸雪' '你是人间惊鸿客']
     ['秀闺蜜照' '含娇含笑' '宿翠残红窈窕']
     ['睡前自拍' '南风知我意' '吹梦到西州']
     ['情侣离别' '南风未起' '念你成疾']]

    5.usecols

    import numpy as np
    #usecols是指只使用0,2两列
    a = np.loadtxt('out.txt',dtype=str,delimiter=' ',usecols=(0,2))
    print(a)

    结果:

    [['伤感自拍' '半句别恨半心凉']
     ['官宣表白' '你是人间惊鸿客']
     ['秀闺蜜照' '宿翠残红窈窕']
     ['睡前自拍' '吹梦到西州']
     ['情侣离别' '念你成疾']]

    6. unpack

    import numpy as np
    # unpack是指会把每一列当成一个向量输出, 而不是合并在一起
    a = np.loadtxt('out.txt',dtype=str,delimiter=' ',unpack=True)
    print(a)
    b,c = np.loadtxt('out.txt',dtype=str,delimiter=' ',usecols=(0,1),unpack=True)
    print(b,c)

    结果:

    [['伤感自拍' '官宣表白' '秀闺蜜照' '睡前自拍' '情侣离别']
     ['半身风雨半身伤' '我是檐上三寸雪' '含娇含笑' '南风知我意' '南风未起']
     ['半句别恨半心凉' '你是人间惊鸿客' '宿翠残红窈窕' '吹梦到西州' '念你成疾']]
    ['伤感自拍' '官宣表白' '秀闺蜜照' '睡前自拍' '情侣离别'] ['半身风雨半身伤' '我是檐上三寸雪' '含娇含笑' '南风知我意' '南风未起

    7.converters

    import numpy as np
    # 介绍converters参数, 这个是对数据进行预处理的参数
    #我们可以先定义一个函数, 这里的converters是一个字典, 表示第1列使用函数func来进行预处理
    def func(x):
        return int(x)+1
    
    a = np.loadtxt('out1.txt',dtype=int,delimiter=' ',converters={1:func})
    print(a)

    结果:

    [[ 1  3  3  4  5  6  7  8]
     [ 9 11 11 12 13 14 15 16]
     [17 19 19 20 21 22 23 24]
     [25 27 27 28 29 30 31 32]]

    2.np.savetxt保存文本

    3.np.loadtxt()读取csv文件

    import numpy as np
    a=np.arange(100).reshape(10,10)
    np.savetxt('out2.csv',a,fmt='%d')
    data=np.loadtxt('out2.csv',dtype=int,usecols=(1,2))
    print(data)
    print(data.shape)

    结果:

    [[ 1  2]
     [11 12]
     [21 22]
     [31 32]
     [41 42]
     [51 52]
     [61 62]
     [71 72]
     [81 82]
     [91 92]]
    (10, 2)

    unpack的使用:

    import numpy as np
    a=np.arange(100).reshape(10,10)
    np.savetxt('out2.csv',a,fmt='%d')
    data1,data2=np.loadtxt('out2.csv',dtype=int,usecols=(1,2),unpack=True)
    print(data1)
    print('*'*50)
    print(data1.tolist())

    结果:

    [ 1 11 21 31 41 51 61 71 81 91]
    **************************************************
    [1, 11, 21, 31, 41, 51, 61, 71, 81, 91]

    tolist是将数组转化为列表(列表是用逗号隔开的)

     
  • 相关阅读:
    微信小程序-上传多张图片加进度条(支持预览、删除)
    php中120个内置函数
    angular6 NgModule中定义模块module
    Aliasing input/output properties
    angular6 Can't bind to 'zzst' since it isn't a known property of
    [转]DOM 中 Property 和 Attribute 的区别
    Angular6
    [转]VirtualBox 修改UUID实现虚拟硬盘复制
    pthread_create如何传递两个参数以上的参数
    linux 线程操作问题undefined reference to 'pthread_create'的解决办法(cmake)
  • 原文地址:https://www.cnblogs.com/celine227/p/13976393.html
Copyright © 2011-2022 走看看