python 工具 字符串轉numpy浮點數組的實現
時間:2020-03-14來源:電腦系統城作者:電腦系統城
不同的數字之間使用 空格“ ”,“$”,"*"等隔開,支持帶小數點的字符串
NumArray=str2num(LineString,comment='#')
將字符串中的所有非Double類型的字符全部替換成空格
以'#'開頭直至行尾的內容被清空
返回一維numpy.array數組

- import numpy
- import scipy
- def str2num(LineString,comment='#'):
-
- from io import StringIO as StringIO
- import re,numpy
-
- NumArray=numpy.empty([0],numpy.int16)
- NumStr=LineString.strip()
- #~ ignore comment string
- for cmt in comment:
-
- CmtRe=cmt+'.*$'
- NumStr=re.sub(CmtRe, " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
-
- #~ delete all non-number characters,replaced by blankspace.
- NumStr=re.sub('[^0-9.e+-]', " ", NumStr, count=0, flags=re.IGNORECASE)
-
- #~ Remove incorrect combining-characters for double type.
- NumStr=re.sub('[.e+-](?=\s)', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
- NumStr=re.sub('[.e+-](?=\s)', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
- NumStr=re.sub('[e+-]$', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
- NumStr=re.sub('[e+-]$', " ", NumStr.strip(), count=0, flags=re.IGNORECASE)
-
- if len(NumStr.strip())>0:
- StrIOds=StringIO(NumStr.strip())
- NumArray= numpy.genfromtxt(StrIOds)
-
- return NumArray
-
-
- if __name__ == "__main__":
- str = input("Enter your input: ");
- donser=str2num(str)
- print(donser)
補充知識:Python 將numpy array由浮點型轉換為整型
——使用numpy中的astype()方法可以實現,如:

以上這篇python 工具 字符串轉numpy浮點數組的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。
相關信息
-
PyTorch兩種安裝方法
PyTorch兩種安裝方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值...
2021-03-29
-