【发布时间】:2017-12-04 10:25:03
【问题描述】:
我有一些列表,例如
list1 = ['hi',2,3,4]
list2 = ['hello', 7,1,8]
list3 = ['morning',7,2,1]
其中 'hi'、'hello' 和 'morning' 是字符串,其余的是数字。
然后我尝试将它们堆叠为:
matrix = np.vstack((list1,list2,list3))
但是数字的类型变成了字符串。特别是他们变成了numpy_str。
我该如何解决这个问题?我尝试更换项目,我尝试更改它们的类型,但没有任何效果
编辑
上面写错了!在我原来的问题中,第一个列表实际上是一个标题列表,例如
list1 = ['hi', 'number of hours', 'number of days', 'ideas']
所以第一列(在垂直堆叠的数组中)是一列字符串。其他列的第一个元素是字符串,然后是数字。
【问题讨论】:
-
要在数组中混合字符串和整数,请使用结构化数组或对象数组,如最近的stackoverflow.com/q/44831502
-
np.vstack通过np.atleast_2d传递每个输入列表,而np.atleast_2d又使用np.array。看np.array(list1)。
标签: python arrays string list numpy