Numpy 对象和字符串相互转换
生活随笔
收集整理的這篇文章主要介紹了
Numpy 对象和字符串相互转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在實際工作中有個需求是需要將 Numpy 的二進制對象轉換為字符串,經過某種處理之后,再將字符串還原為 Numpy 對象,這就需要用到 Numpy 自帶的 tostring 和 fromstring 方法。在此記錄下其使用方法。
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. 文本文件處理
對于文本文件,推薦使用
loadtxtgenfromtxtsavetxt
4. 二進制文件處理
對于二進制文本文件,推薦使用
saveloadsavez
總結
以上是生活随笔為你收集整理的Numpy 对象和字符串相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “风弦自有声”上一句是什么
- 下一篇: 扣扣个性签名伤感男生