• 【523】python存储变量方法


    参考:python如何保存变量

    参考:numpy的文件存储.npy .npz 文件详解

      写论文的时候,自己处理了一组数据,已经完美的各种处理好了,但是在 jupyter notebook 中想要新建一个文件再另外一个 model 上面处理的时候就会遇到这个问题,如何将数据存储,否则还要从头读取处理,下面针对这个问题进行说明。

    1. numpy 自带方法

      此方法也是蛮简单的

    • numpy.save():数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。
    • numpy.load():读取 .npy 文件的数据,直接转换为 numpy 数组

      ☀☀☀<< 举例 >>☀☀☀

    >>> import numpy as np
    >>> a = np.arange(24).reshape(2,3,4)
    >>> a
    array([[[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [ 8,  9, 10, 11]],
    
           [[12, 13, 14, 15],
            [16, 17, 18, 19],
            [20, 21, 22, 23]]])
    >>> np.save("D:/aa/npp.npy", a)
    >>> b = np.load("D:/aa/npp.npy")
    >>> b
    array([[[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [ 8,  9, 10, 11]],
    
           [[12, 13, 14, 15],
            [16, 17, 18, 19],
            [20, 21, 22, 23]]])
    

      

    2. pandas 自带方法

      此方法是最方便最简单的

    • to_pickle:此方法是将 dataframe 变量数据直接存储为本地文件,对于文件扩展名没有要求
    • read_pickle:此方法是将本地存储的变量读取并转为 dataframe 文件

      ☀☀☀<< 举例 >>☀☀☀

    >>> import pandas as pd
    >>> import numpy as np
    >>> df = pd.DataFrame(np.arange(12).reshape(3, 4))
    >>> df
       0  1   2   3
    0  0  1   2   3
    1  4  5   6   7
    2  8  9  10  11
    >>> df.columns = ['I', 'II', 'III', 'IV']
    >>> df
       I  II  III  IV
    0  0   1    2   3
    1  4   5    6   7
    2  8   9   10  11
    >>> df.to_pickle(r"D:/aa/df")
    
    >>> dff = pd.read_pickle(r"D:/aa/df")
    >>> dff
       I  II  III  IV
    0  0   1    2   3
    1  4   5    6   7
    2  8   9   10  11
    

      

    3. sklearn 的自带方法

      ☀☀☀<< 举例 >>☀☀☀

    from sklearn.externals import joblib
    # 保存x
    joblib.dump(x, 'x.pkl') 
    # 加载x
    x = joblib.load('x.pkl') 
    

      

    4. pickle 库操作

      ☀☀☀<< 举例 >>☀☀☀

    import pickle
     
    # 存储变量的文件的名字
    filename = 'shoplist.data'
    # 初始化变量
    shoplist = ['apple', 'mango', 'carrot']
    # 以二进制写模式打开目标文件
    f = open(filename, 'wb')
    # 将变量存储到目标文件中区
    pickle.dump(shoplist, f)
    # 关闭文件
    f.close()
    # 删除变量
    del shoplist
    # 以二进制读模式打开目标文件
    f = open(filename, 'rb')
    # 将文件中的变量加载到当前工作区
    storedlist = pickle.load(f)
    print(storedlist)
    

      

  • 相关阅读:
    Java基本数据类型
    java类和对象
    java命名规范
    算法(Algorithms)第4版 练习 1.5.16
    算法(Algorithms)第4版 练习 1.5.15
    算法(Algorithms)第4版 练习 1.5.14
    算法(Algorithms)第4版 练习 1.5.13
    算法(Algorithms)第4版 练习 1.5.12
    算法(Algorithms)第4版 练习 1.5.10
    算法(Algorithms)第4版 练习 1.5.9
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/14283064.html
Copyright © 2020-2023  润新知