如何解决如何在python中将数组中提取的数据转换为可用数字?
所以我得到了一个从txt文档中提取数据的函数,该函数返回三个不同的数组。
def extract_data(filename):
infile= open('approx_derivative_sine.txt','r')
dx = []
abserror = []
n = []
for line in infile:
words=line.split()
#words[0]: delta_x,words[1]: value for delta_x
dx.append(words[1])
abserror.append(words[7])
n.append(words[10])
delta_x=np.array(dx)
abs_error=np.array(abserror)
n_array=np.array(n)
return delta_x,abs_error,n_array
infile = open('approx_derivative_sine.txt','r')
result=extract_data(infile)
print(result)
现在这是印刷品:
(array(['1.000000e-01,','1.000000e-02,'1.000000e-03,'1.000000e-04,'1.000000e-05,'1.000000e-06,'1.000000e-07,'1.000000e-08,'1.000000e-09,'1.000000e-10,'1.000000e-11,'1.000000e-12,'1.000000e-13,'1.000000e-14,'1.000000e-15,'1.000000e-16,'1.000000e-17,'1.000000e-18,'1.000000e-19,'],dtype='<U13'),array(['4.409811e-02,'4.338424e-03,'4.330960e-04,'4.330210e-05,'4.330133e-06,'4.330281e-07,'4.300676e-08,'3.038736e-09,'4.137019e-08,'4.445029e-05,'3.996389e-04,'5.511151e-02,'5.000000e-01,array(['n=1','n=2','n=3','n=4','n=5','n=6','n=7','n=8','n=9','n=10','n=11','n=12','n=13','n=14','n=15','n=16','n=17','n=18','n=19'],dtype='<U4'))
正如您所看到的那样,数组是完全没有用的,不能真正对它们做很多事情。例如,如何将其转换为仅可用于在图形中绘制的数字?如何选择每个数组并将其定义为函数返回的数组之一?例如第一个数组,如何定义为x,第二个数组为y?
所以我需要帮助的是如何将数组字符串转换为可用的浮点数,然后定义每个数组,以便我可以将它们用作在图形中绘制的值。有人知道我该怎么做吗?
解决方法
以我理解问题的方式,您希望分别delta_x,abs_error,n_array
以便以后进行绘制。您可以尝试以下几种方法之一,
1:在调用时解压缩数组:
delta_x,n_array = extract_data(infile)
2:数组切片:
result=extract_data(infile)
delta_x,n_array = result[:,0],result[:,1],2]
这样,您以后就可以拆分阵列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。