不同的数字之间使用 空格“ ”,“$”,"*"等隔开,支持带小数点的字符串
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浮点数组的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。