我正在尝试编写一个程序,打开一个只包含行和列数字的文本文件,以便将它们保存在新文件中。 我选择列的部分可以工作,而部分行则不适用。 我必须选择条件为x>的行。 10e13(其中x是特定列中的值)。 这是我写的代码:
MyNothing == (MyNothing :: MyMaybe ())
这是终端上的输出错误:
Command.CommandText ="DELETE FROM WordsGUID";
Command.ExecuteNonQuery();
Command.CommandText ="INSERT INTO WordsGUID SELECT * FROM Words";
Command.ExecuteNonQuery();
Command.CommandText ="SELECT TOP 5 * FROM WordsGUID ORDER BY RandomGUID";
IDataReader dataReader = Command.ExecuteReader();
我是初学者,任何人都可以帮助我吗?我是Mac用户,我使用的是python 2.7。 这是我的输入数据的一小部分:
import numpy as np
matrix = np.loadtxt('file.dat')
#select columns:
column_indecies = [0]
selected_columns = matrix[:,column_indecies]
x=10E13
#select lines:
for line in matrix:
if float(line) > x:
selected_lines = line
selected_matrix = matrix[selected_lines,selected_columns]
# output:
np.savetxt('new_file.dat', selected_matrix, fmt='%1.4f')
答案 0 :(得分:1)
不要使用for循环。代替:
column = matrix[:,0]
x = 10E13
selected = column > x # this is a bool array
selected_matrix = column[selected]
参考:https://docs.scipy.org/doc/numpy-1.13.0/user/basics.indexing.html