【发布时间】:2015-07-12 22:14:21
【问题描述】:
我在文本文件中有表单的数据。
文本文件条目
#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
第三列中的一些条目是空的。我正在尝试创建一个忽略 nan 的 x(第 1 列)和 z(第 3 列)数组。设数组为 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(file).dropna()此处pd.read_table(file)读取文件,dropna()删除NA行。
标签: python arrays numpy pandas nan