将字符串值转换为numpy数组

时间:2019-04-22 11:48:43

标签: python arrays numpy

我想将csv数据作为邮递员中的参数传递。

可以像

s = 2,3,4,5
s= "2,3,4,5"

此csv数据来自某些csv文件。我可以直接拍

localhost?data="2,3,4,5"

如何正确解析并将其转换为numpy数组?

我尝试过

s = "2,3,4,5"
print(np.array(list(s)))

哪个给

['1' ',' '2' ',' '3' ',' '4']

这是错误的。

d =np.fromstring(s[1:-1],sep=' ').astype(int)

我不理解array([], dtype=int64)

正确的方法是什么?

3 个答案:

答案 0 :(得分:4)

您可以按照以下方式尝试np.fromstring()

import numpy as np
s = "2,3,4,5"
np.fromstring(s, dtype=int, sep=',')

获得类似的输出

array([2, 3, 4, 5])

答案 1 :(得分:2)

您可以使用逗号分割,然后使用np.array

例如:

import numpy as np

s = "2,3,4,5"
print(np.array(s.strip('"').split(",")).astype(int))

输出:

[2 3 4 5]

答案 2 :(得分:1)

这是另一种方式:

>>> import numpy as np
>>> s='2,3,4,5'
>>> np.array([int(i) for i in s.split(',')])
array([2, 3, 4, 5])
>>>