我有一个包含浮点值列表的s str变量,我想在python中将其转换为float64类型的numpy数组

我有一个包含浮点值列表的s str变量,我想在python中将其转换为float64类型的numpy数组,python,numpy,Python,Numpy,s类型为str,大小为1 我们想要的是将这个str转换成numpy float64数组 s[1:-1]将以字符串形式打印括号中的所有内容。 .split()将空格处的字符串拆分为一个包含2个字符串的列表。 map()将字符串转换为浮点数。 list()将地图对象转换为列表。 np.array()将列表转换为numpy数组 s = [-3.34 -0.34] print(s[1:-1].split()) # "-3.34 -0.34" 打印(映射(float,s[1:-1].split()) #

s类型为str,大小为1

我们想要的是将这个str转换成numpy float64数组

s[1:-1]
将以字符串形式打印括号中的所有内容。
.split()
将空格处的字符串拆分为一个包含2个字符串的列表。
map()
将字符串转换为浮点数。
list()
将地图对象转换为列表。
np.array()
将列表转换为numpy数组

s = [-3.34 -0.34]
print(s[1:-1].split())
# "-3.34 -0.34"
打印(映射(float,s[1:-1].split())
# 
打印(列表(映射(float,s[1:-1].split()))
# [-3.34, -0.34]
打印(np.array(列表(映射(float,s[1:-1].split()))
# [-3.34 -0.34]

不确定要查找什么,因为表达式中没有逗号,但假设您只想创建一个数组,可以执行以下操作:

np.array(list(map(float, s[1:-1].split())))

一般来说,对于这些问题,查看特定字符串是不够的。例如,在空格处放置第一个、最后一个和分隔符的规则(在这里编写和使用很简单)是否始终有效?这看起来像是数组的
str
显示。这不是用来重建阵列的。您需要将其放入一个字符串列表中,这些字符串可以单独转换为float。
np.array(list(map(float, s[1:-1].split())))
print(s[1:-1].split())
# "-3.34 -0.34"
print(map(float, s[1:-1].split()))
# <map object at 0x108146128>
print(list(map(float, s[1:-1].split())))
# [-3.34, -0.34]
print(np.array(list(map(float, s[1:-1].split()))))
# [-3.34 -0.34]
expr = "[-3.34, -0.34]"
s = eval(expr)