Numpy访问二进制文件

保存数据为二进制文件并读取

import numpy as np
import matplotlib.pyplot as plt
#产生数据\n",
x=np.linspace(0, 10, 30)
noise=np.random.randn(30)#产生30个标准正态分布的元素\n",
y1=x**2+2*noise#产生叠加噪声的数据系列1\n",
y2=x**1+2*noise#产生叠加噪声的数据系列2\n",
y3=x**1.5+2*noise#产生叠加噪声的数据系列3\n",
z=np.linspace(0, 10, 35)
#创建或访问一个文件夹\n",
import os
path='D:/my_python/ch3/'
if not os.path.exists(path):os.makedirs(path)
#访问二进制数据文件\n",
#保存一个数组至数据文件,默认扩展名为.npy,可省略\n",
np.save(path+'data_x_arr',x)
np.savez(path+'xyz_arr',x,y1,y2,y3,z)

也可以保存多个数组至数据文件中,此时数组的扩展名是。npz.

读取保存的二进制文件并进行可视化。

loaded_data = np.load(path+'data_x_arr.npy')#"print('读取的数组为:\\n',loaded_data)\n",
loaded_data1 = np.load(path+'xyz_arr.npz')#读取含有多个数组的文件\n",#不同的数组用arr_n的形式进行索引,n从0开始\n",#print('读取的数组1为:',loaded_data1['arr_0'])\n",#print('读取的数组2为:',loaded_data1['arr_1'])"
p = plt.figure(figsize=(12,4))
plt.rcParams['font.sans-serif'] = 'SimHei'#设置字体为SimHei显示中文\n",
plt.rc('font', size=14)#设置图中字号大小\n",
#子图1:保存的数据集\n",
ax1 = p.add_subplot(1,2,1)
plt.scatter(x,y1, marker='o')#绘制散点图\n",
plt.scatter(x,y2, marker='*')#绘制散点图\n",
plt.scatter(x,y3, marker='^')#绘制散点图\n",
plt.title('保存的数据集')#添加标题\n",
plt.legend(['数据集y1','数据集y2','数据集y3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
#子图2:读取的数据集\n",
ax1 = p.add_subplot(1,2,2)
#不同的数组用arr_n的形式进行索引,n从0开始\n",
plt.scatter(loaded_data1['arr_0'],loaded_data1['arr_1'], marker='o')#绘制散点图\n",
plt.scatter(loaded_data1['arr_0'],loaded_data1['arr_2'], marker='*')#绘制散点图\n",
plt.scatter(loaded_data1['arr_0'],loaded_data1['arr_3'], marker='^')#绘制散点图\n",
plt.title('读取的二进制文件数据集')#添加标题\n",
plt.legend(['数据集arr_1','数据集arr_2','数据集arr_3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
plt.savefig(path+'output/binaryDataFile.jpg')#保存图片\n",
plt.show()#显示图片

save函数将保存单个数组为二进制文件,savez 函数将多个数组保存到一个。npz文件之中去。load 函数将读取数据文件。这3个方法都必须有file参数来接受文件的保存路径。

pandas 访问文本文件

import pandas as pd
#将数组转换为数据框,并为每列数组在数据框中指定列名,指定形式为:'列名':数组名\n",
df=pd.DataFrame({'x':x,'y1':y1,'y2':y2,'y':y3})
print('指定的数据框的列名称为:',df.columns)
df=df.rename(columns={'y':'y3'})
print('重命名后的数据框的列名称为:\n',df.columns)
df.to_csv(path+'xy123.csv',sep = ',',index = False) #保存为csv文本文件\n",
loaded_csv=pd.read_table(path+'xy123.csv',sep = ',',encoding = 'gbk')#读取csv文本文件"

使用to_csv()的方法将df文件保存为。csv格式的文本文件,并使用pandas.read_table()方法加载。

p = plt.figure(figsize=(12,4))
plt.rcParams['font.sans-serif'] = 'SimHei'#设置字体为SimHei显示中文\n",
plt.rc('font', size=14)#设置图中字号大小\n",
#子图1:保存的数据集\n",
ax1 = p.add_subplot(1,2,1)
plt.scatter(x,y1, marker='o')#绘制散点图\n",
plt.scatter(x,y2, marker='*')#绘制散点图\n",
plt.scatter(x,y3, marker='^')#绘制散点图\n",
plt.title('保存的数据集')#添加标题\n",
plt.legend(['数据集y1','数据集y2','数据集y3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
#子图2\n",
ax1 = p.add_subplot(1,2,2)
#不同的数组用loaded_csv['列名']的形式进行索引\n",
plt.scatter(loaded_csv['x'],loaded_csv['y1'], marker='o')#绘制散点图\n",
plt.scatter(loaded_csv['x'],loaded_csv['y2'], marker='*')#绘制散点图\n",
plt.scatter(loaded_csv['x'],loaded_csv['y3'], marker='^')#绘制散点图\n",
plt.title('读取的csv文本文件数据集')#添加标题\n",
plt.legend(['列y1','列y2','列y3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
plt.savefig(path+'output/csv.jpg')#保存图片\n",
plt.show()#显示图片"

PANDAS 访问Excel 文件

pandas 提供了对Excel文件的访问方法

df.to_excel(path+'xy123.xls')
loaded_excel=pd.read_excel(path+'xy123.xls')
#对保存和读取的数据文件可视化进行对比\n",
p = plt.figure(figsize=(12,4))
plt.rcParams['font.sans-serif'] = 'SimHei'#设置字体为SimHei显示中文\n",
plt.rc('font', size=14)#设置图中字号大小\n",
#子图1:保存的数据集\n",
ax1 = p.add_subplot(1,2,1)
plt.scatter(x,y1, marker='o')#绘制散点图\n",
plt.scatter(x,y2, marker='*')#绘制散点图\n",
plt.scatter(x,y3, marker='^')#绘制散点图\n",
plt.title('保存的数据集')#添加标题\n",
plt.legend(['数据集y1','数据集y2','数据集y3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
#子图2\n",
ax1 = p.add_subplot(1,2,2)
#不同的数组用loaded_table['列名']的形式进行索引\n",
plt.scatter(loaded_excel['x'],loaded_excel['y1'], marker='o')#绘制散点图\n",
plt.scatter(loaded_excel['x'],loaded_excel['y2'], marker='*')#绘制散点图\n",
plt.scatter(loaded_excel['x'],loaded_excel['y3'], marker='^')#绘制散点图\n",
plt.title('读取的Excel文件数据集')#添加标题\n",
plt.legend(['列y1','列y2','列y3'])#添加图例\n",
plt.xlabel('x')#添加横轴标签\n",
plt.ylabel('y')#添加纵轴标签\n",
plt.savefig(path+'excel.jpg')#保存图片\n",
plt.show()#显示图片"

保存数组为二进制文件并读取相关推荐

  1. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  2. 探索cmd调编译器的方式实现数组转二进制文件

    本文主要介绍一个综合运用各种编程工具"将数组转换为二进制文件"的探索案例.事实上,通过纯C/C++编程的方式,也能解决这个问题,但是,本文想强调的是,在实际工作中,需要发散思维和探 ...

  3. python二进制文件的读取与写入可以分别使用什么方法_二进制文件的读取与写入可以分别使用...

    信息举报 时间:2020-12-22 本页为您甄选多篇描写二进制文件的读取与写入可以分别使用,二进制文件的读取与写入可以分别使用精选,二进制文件的读取与写入可以分别使用大全,有议论,叙事 ,想象等形式 ...

  4. PHP保存数组到文件中的方法

    ThinkPHP自3.1以后的版本,F函数保存数组时先序列化后再保存到文件中,因为我需要使用C方法来读取自定义配置文件,故需要把PHP数组保存到文件中以便C方法读取,PHP保存数组到文件的方法如下: ...

  5. R语言构建xgboost模型:模型的保存(xgb.save)和加载(xgb.load)、或者保存为R二进制文件(xgb.save.raw R binary vector)

    R语言构建xgboost模型:模型的保存(xgb.save)和加载(xgb.load).或者保存为R二进制文件(xgb.save.raw,R binary vector) 目录

  6. Python 保存数组至.mat文件,报错:AttributeError: 'numpy.ndarray' object has no attribute 'items'

    Python保存数组的方式有很多种,如savetxt,但这个函数只能保存一维或二维数组.为了保存高维数组,同时能够在matlab载入,可以使用scipy.io.savemat()函数,例子: impo ...

  7. 使用Vivado保存仿真波形数据并读取

    1.1 使用Vivado保存波形数据并读取 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)使用Vivado保存仿真波形数据并读取: 5)结束语. 1.1.2 本节引言 ...

  8. 保存数组类型数据_「Java」基础12:什么叫数组?

    所谓数组,就是有序的元素序列 ,在数学里面都有讲到这个概念. 那么程序中的数组和数学里的数组又有哪些不同呢? 一.数组的定义与访问 举一个现实生活中的例子: 一个500毫升的杯子,既可以拿来装水,也可 ...

  9. python保存为mat文件_python读取文件——python读取和保存mat文件-Go语言中文社区

    首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法: 图片大 ...

最新文章

  1. 网曝抖音电商变相降薪!总包不变,base降低,分摊到年终奖!
  2. SDK 和 API 的区别是什么
  3. 【填坑】初识钛极小龟NB-IoT物联网开发套件TiKit
  4. mysql yn 字段类型_mysql常用数据类型
  5. 基于Nexys4 DDR的VGA显示图片
  6. wxpy 0.1.2微信机器人 / 优雅的微信个人号API
  7. [JS-DOM]核心DOM模型(Document,Element,Node)
  8. java 实例变量和类变量
  9. zk pivottable java_zookeeper节点类型和java客户端创建zk节点
  10. Teamcenter - Index search 找不到相关物件的解决方法
  11. 通过phpmyadmin确认此版本的php支持mssql函数,Php5.6.4+IIS8.5+mysql5.6.22+phpmyadmin4.3.6的配置...
  12. Android系统的开机画面显示过程分析(2)
  13. 前端精英你是什么样的呢
  14. centos npm最新版 安装_Docker安装基本命令操作,带你了解镜像和容器的概念!
  15. ASD: Average Surface Distance
  16. Microsoft .NET Framework 4 安装 1603错误的解决
  17. 高颜值:Redis官方可视化工具,功能强大!
  18. 6月29日Java实训第一天
  19. 252个基本词根详解
  20. 设置广告类型的html小窗口,网页两边悬浮窗广告代码

热门文章

  1. Flask搭建api服务-生成API文档
  2. BIOS-CXL CxlMemLib 源码解析
  3. 【软工视频】软件需求分析
  4. 随印自助打印机,微信文档文件校园共享无人自助打印方案
  5. win10下编译安装ncnn
  6. 怎么主动发起话题_】主动和男生聊天技巧有哪些 3招教你如何制造话题
  7. 批量创建100个文件夹,只需10秒~
  8. Sybase SQL Anywhere 7 数据库修复成功
  9. JS 前端 判断字符串是否相等
  10. Unity基础学习六,网络同步