2015-02-06 116 views
0

鉴于这个样子.csv文件:创建从.csv文件numpy的阵列

49.18;-3.34 
45.73;2.63 
47.88;-11.49 
45.74;3.06 
48.73;-9.56 
49.20;-3.42 

我使用下面的代码:

data = np.genfromtxt("file.csv", delimiter=';') 

,所得阵列是这样的:

[[ 49.18 -3.34] 
[ 45.73 2.63] 
[ 47.88 -11.49] 
[ 45.74 3.06] 
[ 48.73 -9.56] 
[ 49.2 -3.42] 
[ 45.71 2.53] 
[ 47.87 -11.67]] 

但我想是这样的:

[[ 49.18 , -3.34] 
[ 45.73 , 2.63] 
[ 47.88 , -11.49] 
[ 45.74 , 3.06] 
[ 48.73 , -9.56] 
[ 49.2 , -3.42] 
[ 45.71 , 2.53] 
[ 47.87 , -11.67]] 

我在做什么错? 非常感谢,我希望你能帮助我

+3

一切都很好。 numpy的打印格式不显示逗号 – wolfrevo 2015-02-06 12:27:47

回答

0

什么是

data.shape 

输出我认为它已经工作如你所愿。

+0

这是输出:(125L,2L) – Agnisals 2015-02-06 12:33:51

+0

那么,125行2列? 问题是您希望它打印某种方式还是希望它在一个numpy数组中使用? 是类型(数据)一个numpy.ndarray? – EngineeredE 2015-02-06 12:40:27

+0

没错,它是125行和2列。问题是我不能使用索引分别访问列。这是一个numpy.ndarray – Agnisals 2015-02-06 12:48:03

0

如果你真的需要一个数组,而不是numpy的阵列,那么您可以将您的np.array转换到一个列表与tolist()

my_list = data.tolist() 

请记住,有一个列表,你只可以索引与下列每个维度注释:

print my_list[0][0] 

,并用numpy的阵列可以使用这两种写法:

print data[0,0] 
print data[0][0] 
+0

'tolist()'产生一个'list',而不是一个数组。或者是列表的列表。 Python有一个名为'array'的独立类。但是'numpy'的广泛使用,这是很少使用的。我知道我很挑剔,但术语在编程时很重要。 – hpaulj 2015-02-06 17:22:47

+0

你是对的。感谢您的评论。 – wolfrevo 2015-02-07 15:39:23