我有一個文本文件中的窗體的數據。如何列堆棧數組忽略nan在Python中?
文本文件條目
#x y z
1 1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64 512
9 81 729
10 100 1000
11 121
12 144 1728
13 169
14 196
15 225
16 256 4096
17 289
18 324
19 361 6859
20 400
21 441 9261
22 484
23 529 12167
24 576
25 625
一些在第三列中的條目是空的。我正在嘗試創建一個x(第1列)和z(第3列)數組忽略nan。讓陣列是B. B的內容應該是:
1 1
8 512
9 729
10 1000
12 1728
16 4096
19 6859
21 9261
23 12167
我嘗試使用代碼這樣做:
import numpy as np
A = np.genfromtxt('data.dat', comments='#', delimiter='\t')
B = []
for i in range(len(A)):
if ~ np.isnan(A[i, 2]):
B = np.append(B, np.column_stack((A[i, 0], A[i, 2])))
print B.shape
這是行不通的。它創建一個列向量。這怎麼可以在Python中完成?
如果你將處理的數據分析,'Pandas'將使生活用'pd.read_table(文件).dropna()''這裏pd.read_table(文件)'更容易閱讀文件和'dropna()'放下'NA'行。 – Zero