如何选择条件行并将其保存在文件中

时间:2017-08-27 10:34:53

标签: python numpy

我正在尝试编写一个程序,打开一个只包含行和列数字的文本文件,以便将它们保存在新文件中。 我选择列的部分可以工作,而部分行则不适用。 我必须选择条件为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') 

1 个答案:

答案 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