如何将从数组中提取的数据转换为python中可用的数字?

如何将从数组中提取的数据转换为python中可用的数字?,python,arrays,numpy,matplotlib,text-files,Python,Arrays,Numpy,Matplotlib,Text Files,所以我得到了一个函数,它从一个返回三个不同数组的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]:

所以我得到了一个函数,它从一个返回三个不同数组的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.137019e-08,', '4.137019e-08,', '4.445029e-05,',
       '3.996389e-04,', '3.996389e-04,', '5.511151e-02,', '5.000000e-01,',
       '5.000000e-01,', '5.000000e-01,', '5.000000e-01,'], dtype='<U13'), 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'))
(数组(['100000E-01','100000E-02','100000E-03','100000E-04',',
‘100000E-05’、‘100000E-06’、‘100000E-07’、‘100000E-08’,
‘100000E-09’、‘100000E-10’、‘100000E-11’、‘100000E-12’,
‘100000E-13’、‘100000E-14’、‘100000E-15’、‘100000E-16’,

“100000E-17,”“100000E-18,”“100000E-19,”],dtype=“我理解这个问题的方式是,你想要单独的
delta\u x,abs\u error,n\u array
,以便以后绘图。你可以尝试以下几件事之一

1:随叫随到解包阵列:

delta_x,abs_error,n_array = extract_data(infile)
2:阵列切片:

result=extract_data(infile)
delta_x,abs_error,n_array = result[:,0], result[:,1], result[:,2]
这样以后就可以拆分数组了。

尝试
np.array(dx,float)
,强制将字符串值转换为float。它不适用于
n
列表,但其他两个应该转换。
result
是数组的元组,这是
return
语句所期望的。