python 工具 字串轉numpy浮點陣列的實現
阿新 • • 發佈:2020-03-16
不同的數字之間使用 空格“ ”,“$”,"*"等隔開,支援帶小數點的字串
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,flags=re.IGNORECASE) #~ Remove incorrect combining-characters for double type. NumStr=re.sub('[.e+-](?=\s)',flags=re.IGNORECASE) NumStr=re.sub('[.e+-](?=\s)',flags=re.IGNORECASE) NumStr=re.sub('[e+-]$',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浮點陣列的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。