在实际工作中有个需求是需要将 Numpy 的二进制对象转换为字符串,经过某种处理之后,再将字符串还原为 Numpy 对象,这就需要用到 Numpy 自带的 tostringfromstring 方法。在此记录下其使用方法。

1. tostring 方法

numpy 对象转换为字符串:

In [1]: import numpy as npIn [2]: a = np.array([[1,2], [3,4]])In [3]: a
Out[3]:
array([[1, 2],[3, 4]])In [4]: b = a.tostring()In [5]: b
Out[5]: b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00'In [6]:

2. fromstring 方法

fromstring 或者 frombuffer 可以将字符串对象转换为对应的 numpy 对象。

In [7]: a.dtype
Out[7]: dtype('int32')In [8]: c = np.fromstring(b, dtype=np.int32)
g:\python\lib\site-packages\ipykernel_launcher.py:1: DeprecationWarning: The binary mode of fromstring is deprecated, as it behaves surprisingly on unicode inputs. Use frombuffer instead"""Entry point for launching an IPython kernel."""In [9]: c = np.frombuffer(b, dtype=np.int32)In [10]: c
Out[10]: array([1, 2, 3, 4])
In [11]: c.shape=(2,2)In [12]: c
Out[12]:
array([[1, 2],[3, 4]])In [13]:

注意:Python3 中更推荐使用 frombuffer 来将字符串转换为二进制,并且要设置转换的 dtype 类型,否则默认按照一维进行转换

3. 文本文件处理

对于文本文件,推荐使用

  • loadtxt
  • genfromtxt
  • savetxt

4. 二进制文件处理

对于二进制文本文件,推荐使用

  • save
  • load
  • savez

Numpy 对象和字符串相互转换相关推荐

  1. js对象与字符串相互转换

    js对象与字符串相互转换 对象转为字符串 const obj = {id: 0,name: '张三',age: 12 } const objToStr = JSON.stringify(obj) co ...

  2. json对象和字符串相互转换

    var data= {"name":"小明","pwd":123456};//这是一个json的对象 json的字符串 既然是字符串就是用引 ...

  3. 微信小程序中,json对象与字符串相互转换

    微信小程序中,json对象转字符串,以及字符串转json对象,具体代码如下: //这是一个json对象 var jsonobj = {"orderId":"3308908 ...

  4. Gson案例:Java对象与JSON字符串相互转换

    Gson案例:Java对象与JSON字符串相互转换 一.Gson概述 Gson是一个Java类库,可将Java对象转换为相应的JSON形式,也可以将JSON字符串转换为对应的Java对象.Gson是一 ...

  5. Python time和datetime时间戳和时间字符串相互转换

    Python time和datetime时间戳和时间字符串相互转换 时间戳是指格林威治时间1970年01月01日00时00分00秒开始计算所经过的秒数,是一个浮点数. time和datetime都是P ...

  6. VB 二进制数组与十六进制字符串相互转换

    1.VB 二进制Byte()数组转换成十六进制字符串函数: Private Function BytesToHex(bytB() As Byte) As String Dim strTmp As St ...

  7. 图片和字符串相互转换

    http://blog.csdn.net/rmm0001/article/details/6692718 登录 | 注册 rmm0001的专栏 目录视图 摘要视图 订阅 [公告]博客系统优化升级    ...

  8. JS日期与字符串相互转换(时间格式化YYYY-MM-DD,Dayjs的使用)

    JS日期与字符串相互转换--JS封装函数,Dayjs转换时间格式 相关文章调用 场景复现 一.JS封装函数 1.日期转字符串 2.字符串转日期 二. Dayjs转换时间格式 1.Dayjs快速安装与使 ...

  9. 小程序 url 对象转字符串编码传参 url 字符串转对象解码接收参数

    url 对象转字符串编码传参 let info = encodeURI(JSON.stringify(this.data.info));wx.navigateTo({url: '/pages/part ...

最新文章

  1. mysql的dockerfile_Dockerfile构建MySQL
  2. AutoCAD .NET API二次开发学习指南
  3. 什么是僵尸进程与孤儿进程
  4. java文件打包jar文件_Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)...
  5. 【数据结构与算法】之深入解析KMP算法的核心原理和实战演练
  6. 蜘蛛牌 HDU - 1584(搜索——达到先让某些段先结合,达最优解)
  7. C++ 类成员引用变量的使用
  8. word转pdf实现,POIXMLDocumentPart.getPackageRelationship()Lorg...问题,以及NotOfficeXmlFileException...问题
  9. 新cBSS敏捷发布实践
  10. 金球奖提名!5家自主品牌「争夺」年度高阶智能辅助驾驶系统
  11. 摸鱼小组-冲刺日志(第二天)
  12. 基于Redis的分布式限流器Java实现
  13. SQL注入漏洞 | iwebsec
  14. Excel按照单元格内设定好的次序进行工作表排序
  15. 华为鸿蒙摄像头,随时随地看一看!华为首款鸿蒙智能摄像头发布
  16. 飞控简析-从入门到跑路 第二章PX4的位置控制(1)
  17. kafka入门介绍「详细教程」
  18. JavaScript基本数据类型以及内存分配
  19. Java ee 应用层重点协议http协议
  20. DVWA 查看默认密码

热门文章

  1. Strutsw2与Spring整合流程-简述
  2. 2022-2028年中国电压力锅市场投资分析及前景预测报告
  3. pip install faiss-gpu失败unable to execute ‘swig‘: No such file or directory
  4. c++动态分配二维数组
  5. 【Spring】新注解
  6. 【Java 2 Platform Enterprise Edition】基础
  7. eclipse运行maven web项目
  8. 色彩(颜色)空间原理(中)
  9. NET::ERR_CACHE_MISS
  10. 【[SCOI2010]序列操作】