美文网首页
hdf5和argparse

hdf5和argparse

作者: DoublleTree | 来源:发表于2018-02-05 16:42 被阅读0次

    hdf5

    今天开始准备数据集,准备采用hdf5来整合不同病人的数据。
    教程。一般步骤如下:

    1. 创建并打开文件:
    import tables
    hdf5_path = "my_data.hdf5"
    hdf5_file = tables.open_file(hdf5_path, mode='w')
    
    1. 选择数据类型并创建节点
      以earray为例。tables提供了几种数据类型,其中最简单的是Array和Carray,后者对应了压缩类型。这两种的存储是直接把内存中的值保存下来。如果数据量过大,不能一次加载到内存中,则可以通过earray。earray可以多次添加保存。如果各个批次数据形状不一样,可以使用VLarray。
    # for compression
    filters = tables.Filters(complevel=5, complib='blosc')  
    # data type 
    atom = tables.Float32Atom()
    data_shape = (0,2)
    arr = hdf5_file.create_earray(hdf5_file.root,'earray',atom,data_shape,filters=filters)
    
    1. 添加数据
    arr.append(numpy.array([[1., 2.],
                            [2., 3.],
                            [3., 4.]], dtype=numpy.float32 ))
    
    1. 关闭文件
    hdf5_file.close()
    
    1. 读取数据
    hdf5_path = "my_data.hdf5"
    hdf5_file = tables.openFile(hdf5_path, mode = 'w')
    data = hdf5_file.root.earray[:]
    

    ArgParse

    然后复习了argParse这一块,教程
    这个的框架也很简单:

    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument(......)
    args = parser.parse_args()
    

    主要分成固定参数和可选参数两种。顾名思义,前者必须给定,当有多个时,按定义顺序。后者通过符号控制,可以缺省。

    import argparse
    parser = argparse.ArgumentParser()
    # positional arguments
    parser.add_argument("square", type = int, help="display a square of a given number")
    # optional arguments
    parser.add_argument("-v", "--verbose", action="store_true",
                        help="increase output verbosity")
    
    args = parser.parse_args()
    # action
    answer = args.square**2
    if args.verbose:
        print "the square of {} equals {}".format(args.square, answer)
    else:
        print answer
    

    相关文章

      网友评论

          本文标题:hdf5和argparse

          本文链接:https://www.haomeiwen.com/subject/mtkizxtx.html