我正在嘗試編寫一個程序,它只打開行和列中的數字的文本文件,以將它們保存在新文件中。 我選擇列的部分起作用,而部分行不起作用。 我必須選擇條件爲x> 10e13的行(其中x是特定列中的值)。 這是我寫的代碼:如何選擇具有條件的行並將它們保存在文件中
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')
而且這是在終端輸出誤差:
selected_matrix = matrix[selected_lines]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我是初學者,誰能幫助我?我是Mac用戶,我正在使用Python 2.7。 這是我的輸入數據的小樣本:
185100000000000.0000
121300000000000.0000
257800000000000.0000
43980000000000.0000
'如果浮子(線)> X:'這是該錯誤的原因,還添加了標籤空間'selected_lines [] =線[]'線 –
我知道,但我該如何解決它? @NarenMurali –
@AlessandroPeca在'x'後面加上一個冒號,並將下一行縮進四個空格 –