如何从numpy数组中获取字符串值?

时间:2015-06-17 06:15:11

标签: python arrays numpy

当我将字符串数据作为字符存储在numpy数组中并稍后检索它时,它总是返回一个值为b' x'对于' x'我早先存储过。目前我使用愚蠢的方式通过str(some_array[row, col...]).lstrip("b'").rstrip("'")提取值,我相信应该有一个更简单的方法来做到这一点。有人知道吗?谢谢!

1 个答案:

答案 0 :(得分:2)

根据您的输出,您使用的是Python 3(其中bytesstr是不同的类型)。这个答案适用于dtype='S'(字节串)的数组;对于dtype=strdtype='U',它们存储为unicode字符串(至少对于python 3)并且没有问题。

最简单的事情可能是

str(some_array[row,col...],encoding='ascii')

请注意,您可以使用其他编码而不是ascii('UTF-8'是常见的),哪一个是正确的取决于您用于将数据放入numpy数组的那个。如果您使用的是非奇特的字母数字字符,那么它应该并不重要。如果你将str放入数组中,numpy使用ascii对其进行编码,所以除非你特别努力做一些不同的事情,'ascii'应该是正确的。

(作为参考,我发现这个答案有用https://stackoverflow.com/a/14010552/4657412

相关问题