我在Python中定义了一个函数,它从未排序的文本文件中读取数据,通过增加顺序对内容进行排序。然后我要求函数返回最终变量。
当我将该函数作为另一个脚本的一部分调用时,该函数的输出位于" unsorted"状态。
def read_file(my_file):
import numpy as np
initial_data =[]
A = []
B = []
C = []
D = []
with open(my_file) as f:
for num, row in enumerate(f):
initial_data.append(row[:])
lines = row.strip()
columns = lines.split()
if num > 11:
A.append(float(columns[0]))
B.append(float(columns[1]))
C.append(float(columns[2]))
D.append(float(columns[4]))
data = np.vstack((A,B, C,D)).T
data= data[np.argsort(data[:,0])]
return(data)
当我单独运行此脚本时,最终data
按data[np.argsort(data[:,0])]
排序。
但是当我这样做时:
new_data = read_file(my_file)
new_data
未排序。
编辑:我使用的是Python 3,my_file
是一个简单的文本文件(.txt)
答案 0 :(得分:1)
实际上,我不知道这个的原因,但我面临同样的问题,我知道如何通过它。我通过用新的numpy数组替换最后一行中的“数据”来解决问题。我的意思是代替这一行
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed
替换这两行代码
data= data[np.argsort(data[:,0])]
最后返回data1。