python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn)
不同的數(shù)字之間使用 空格“ ”,“$”,'*'等隔開,支持帶小數(shù)點(diǎn)的字符串
NumArray=str2num(LineString,comment=’#’)
將字符串中的所有非Double類型的字符全部替換成空格
以’#’開頭直至行尾的內(nèi)容被清空
返回一維numpy.array數(shù)組
import numpyimport scipydef 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 NumArrayif __name__ == '__main__': str = input('Enter your input: '); donser=str2num(str) print(donser)
補(bǔ)充知識(shí):Python 將numpy array由浮點(diǎn)型轉(zhuǎn)換為整型
——使用numpy中的astype()方法可以實(shí)現(xiàn),如:
以上這篇python 工具 字符串轉(zhuǎn)numpy浮點(diǎn)數(shù)組的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
