1. 程式人生 > 程式設計 >python 工具 字串轉numpy浮點陣列的實現

python 工具 字串轉numpy浮點陣列的實現

不同的數字之間使用 空格“ ”,“$”,"*"等隔開,支援帶小數點的字串

NumArray=str2num(LineString,comment='#')

將字串中的所有非Double型別的字元全部替換成空格

以'#'開頭直至行尾的內容被清空

返回一維numpy.array陣列

python 工具 字串轉numpy浮點陣列的實現

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浮點陣列的實現

以上這篇python 工具 字串轉numpy浮點陣列的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。