zoukankan      html  css  js  c++  java
  • python 工具 字符串转numpy浮点数组

    不同的数字之间使用 空格“ ”,“$”,"*"等隔开,支持带小数点的字符串
    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)
  • 相关阅读:
    第七课——iOS数据持久化
    第三章-动态规划
    IOS第五课——Gesture and TableView
    第六课——UIDynamicAnimator
    文本居中换行、边框设置
    属性优先级、图片属性设置、内联标签设置大小
    打开、悬浮、访问、点击、状态用:
    属性选择器用【】
    组合使用用逗号,
    3种选择器的使用方式
  • 原文地址:https://www.cnblogs.com/dzzy/p/9399487.html
Copyright © 2011-2022 走看看