将列表转换为数组,输出没有逗号

convert a list to an array, out put has no comma

我尝试将列表转换为数组,但得到的输出没有逗号。

%%writefile tem2504.txt
1 2 3 4 5 6
2 3 5 8 7 9

data = []
with open('tem2504.txt') as f:
    for line in f:
        numbers = line.split()
        print(numbers)
        print('hello')
        for number in numbers:
            data.append(float(number))
print(data)
print(type(data))
print(np.array(data))
print(type(np.array(data)))

但是我得到的输出数字之间没有逗号:[1. 2.3.4.5.6.2.3.5.8.7.9.]

['1', '2', '3', '4', '5', '6']
hello
['2', '3', '5', '8', '7', '9']
hello
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 2.0, 3.0, 5.0, 8.0, 7.0, 9.0]
<class 'list'>
[1. 2. 3. 4. 5. 6. 2. 3. 5. 8. 7. 9.]
<class 'numpy.ndarray'>

这是为什么? 谢谢!

这就是 numpy 显示数组的方式。即使在列表的情况下,也没有实际使用逗号,它们只是为了显示。

您不必担心数组中没有逗号。这只是 numpy 用来显示它们的东西。它不会影响数组的工作方式。

这就是 numpy 将其数组类型输出为字符串的方式。它不使用逗号,但它仍然用作浮点数列表。如果您使用以下内容:

import numpy as np
a = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 2.0, 3.0, 5.0, 8.0, 7.0, 9.0]
np_array = np.array(a)
for i in np_array:
     print(i)

它将列表遍历 np.array 作为列表:

1.0
2.0
3.0
4.0
5.0
6.0
2.0
3.0
5.0
8.0
7.0
9.0

In [214]: alist = [0,1,2,3]

列表的这个 display/print 有 [] 和 ,

In [215]: print(alist)
[0, 1, 2, 3]

数组的 str 显示省略了逗号,作为它不是列表的线索:

In [216]: print(np.array(alist))
[0 1 2 3]

但是每个 class 也有 repr 格式,通常是 'more informative':

In [217]: print(repr(np.array(alist)))
array([0, 1, 2, 3])