• 【数据分析&数据挖掘】numpy——文件的读取与保存


     1 import numpy as np
     2 
     3 # 文本文件——>二进制文件
     4 # 创建一个数组
     5 arr = np.arange(16).reshape((4, 4))
     6 
     7 # 保存单个数组到二进制文件中
     8 # 参数1 文件路径+名称,名称后缀名可以省略,保存的是以.npy为结尾的文件
     9 # 参数2 需要保存的数组
    10 # np.save("./arr", arr)
    11 print("单个数组保存完成")
    12 
    13 # 加载.npy文件
    14 # 参数 文件路径+名称(必须似乎完整名称)
    15 res = np.load("./arr.npy")
    16 print(res)
    17 
    18 # 多个数组的数组的保存
    19 arr1 = np.arange(9)
    20 arr2 = np.arange(16).reshape((4, 4))
    21 
    22 print("arr1: 
    ", arr1)
    23 print("arr2: 
    ", arr2)
    24 
    25 # 将不同的数组保存
    26 # 参数1 文件路径名称,可省略后缀名,默认保存以.npz的文件
    27 np.savez("./arr", arr1, arr2)
    28 print("多个数组保存完成")
    29 
    30 # 如果需要保存的数组数量过多,读取出来无法区分,可以在保存的时候,指定其key值的形式来保存
    31 np.savez("./arr", arr1=arr1, arr2=arr2, x=arr1, y=arr2)
    32 print("保存完毕")
    33 
    34 # 加载.npz文件
    35 res = np.load("./arr.npz")
    36 print(res)
    37 
    38 print("~"*60)
    39 # 遍历对象来获取保存时的key
    40 for tmp in res:
    41     print(tmp)
    42     print(res[tmp])
    43 print("~"*60)
    44 # print(res["arr1"])
    45 # print(res["arr2"])
    46 # print(res["x"])
    47 # print(res["y"])
    48 
    49 # # 加载.npz文件
    50 # res = np.load("./arr.npz")
    51 # print(res)  # 返回一个对象,对象内部是以键值对形式存储
    52 # for tmp in res:
    53 #     print(tmp)
    54 # print(res["arr_0"])
    55 # print(res["arr_1"])
    56 
    57 
    58 # 创建一个数组
    59 arr = np.arange(16).reshape((4, 4))
    60 
    61 # 以文本形式保存数组
    62 # 参数1 文件路径+名称 后缀不能省略
    63 # 参数2 需要保存的数组
    64 # fmt 保存的格式
    65 # delimiter 分隔符
    66 np.savetxt("arr.txt", arr, fmt="%d", delimiter=",")
    67 print("保存完成")
    68 
    69 # 加载文件类型的数据:
    70 # 保存的时候以什么分隔,读取的时候必须设置delimiter
    71 # loadtxt 不能读取含有缺失值的数组
    72 res = np.loadtxt("./arr.txt", delimiter=",")
    73 print(res)
    74 
    75 # 能够读取含有缺失值的数组,默认会给缺失的位置填写一个不会跟自身数组冲突的值
    76 res = np.genfromtxt("./arr.txt", delimiter=",",  dtype=np.int32, filling_values=-100)
  • 相关阅读:
    怎么写好组件
    你所不知道的 URL
    响应式Web设计 – 布局
    ajax请求总是不成功?浏览器的同源策略和跨域问题详解
    滑屏 H5 开发实践九问
    UVALive
    [CQOI2018] 破解D-H协议
    [CQOI2018] 解锁屏幕
    HDU
    CodeChef
  • 原文地址:https://www.cnblogs.com/Tree0108/p/12115574.html
Copyright © 2020-2023  润新知