给定以下 CSV 文件:
"A","B","C","D","E","F","timestamp"
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291111964948E12
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291113113366E12
611.88243,9089.5601,5133.0,864.07514,1715.37476,765.22777,1.291120650486E12
我只想将它作为一个3行7列的矩阵/ndarray加载。然而,由于某种原因,我只能从numpy得到一个有3行(每行一行)且没有列的ndarray。
r = np.genfromtxt(fname,delimiter=',',dtype=None, names=True)
print r
print r.shape
[ (611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291111964948.0)
(611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291113113366.0)
(611.88243, 9089.5601000000006, 5133.0, 864.07514000000003, 1715.3747599999999, 765.22776999999996, 1291120650486.0)]
(3,)
我可以手动迭代并将其调整为所需的形状,但这似乎很愚蠢。我只想将其加载为适当的矩阵,以便我可以在不同的维度上对其进行切片和绘图,就像在matlab中一样。
open
是局部的吗?也就是说,文件在该行结束时关闭吗? - Daniel Soutarloadtxt
非常慢。或者,pandas
非常适合此目的。 - fireball.1