【发布时间】:2018-08-28 02:23:31
【问题描述】:
最新更新:
>>> a = np.array(["0,1", "2,3", "4,5"])
>>> a
array(['0,1', '2,3', '4,5'], dtype='|S3')
>>> b = np.core.defchararray.split(a, sep=',')
>>> b
array([list(['0', '1']), list(['2', '3']), list(['4', '5'])], dtype=object)
>>> c = np.array(b).astype(float)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.
旧:
我有一个这样的 np 数组:
array([[list(['3', '6']), list(['2', '1'])],
[list(['0', '7']), list(['1', ' 9'])]], dtype=object)
我想把它转换成这样的字符串的 np 数组:
array([[['3', '6'], ['2', '1']],
[['0', '7'], ['1', ' 9']]], dtype=object)
这样我就可以使用 astype("float32") 直接将其转换为浮点数组。
有什么想法吗?
旧更新:
感谢您的建议,但我找不到区别。
【问题讨论】:
-
你试过
np.array(array) -
甚至
np.array(arr).astype(float)。 -
@cᴏʟᴅsᴘᴇᴇᴅ 是的。但是,它使数组保持其原始形状和类型。
-
@jpp 谢谢你的回复。 np.array() 在这种情况下不起作用。
-
那么你肯定有大小不等的参差不齐的数组。