当前位置: 首页 > 面试题库 >

将int数组转换为numpy中的字符串数组而不会被截断

公孙弘图
2023-03-14
问题内容

尝试将int数组转换为numpy中的字符串数组

In [66]: a=array([0,33,4444522])
In [67]: a.astype(str)
Out[67]: 
array(['0', '3', '4'], 
      dtype='|S1')

不是我想要的

In [68]: a.astype('S10')
Out[68]: 
array(['0', '33', '4444522'], 
      dtype='|S10')

这行得通,但我必须知道10个足以容纳我最长的琴弦。有没有一种方法可以轻松地做到这一点,而无需提前知道所需的大小字符串?只是在不引发错误的情况下悄悄地截断字符串似乎有些危险。


问题答案:

同样,这可以在纯Python中解决:

>>> map(str, [0,33,4444522])
['0', '33', '4444522']

或者,如果您需要来回转换:

>>> a = np.array([0,33,4444522])
>>> np.array(map(str, a))
array(['0', '33', '4444522'], 
      dtype='|S7')


 类似资料:
  • 问题内容: 我正在尝试将分类变量的字符串数组转换为分类变量的整数数组。 例如 我意识到可以通过循环完成此操作,但我想有一种更简单的方法。谢谢。 问题答案: 好吧,这是一个hack …但是有帮助吗?

  • 我需要转换存储的字符串, 这里myVar="23,45,64,78"; 我想把它转换成如下的数组, 我怎样才能实现这一点?谢谢

  • 问题内容: 如何转换 至 在NumPy中? 问题答案: 好吧,如果您以列表的形式读取数据,则可以这样做(或等效地,使用列表理解)。(在Python 3,你需要调用的,如果你使用的返回值,因为现在返回一个迭代器)。 但是,如果已经是一串Numpy的字符串,则有更好的方法。使用。

  • Kotlin有许多速记和有趣的特性。所以,我想知道是否有一些快捷的方法可以将字符串数组转换为整数数组。与Python中的此代码类似:

  • 问题内容: 我有一个标准化的浮点数数组(即数组中最大的数字是1),我想将其用作图形的颜色索引。在使用matplotlib使用灰度时,这需要使用0到1之间的字符串,因此我想将float数组转换为字符串数组。我试图通过使用“ astype(’str’)”来执行此操作,但这似乎会创建一些与原始值不相同(甚至接近)的值。 我注意到这一点是因为matplotlib抱怨在数组中找到数字8,这很奇怪,因为它被标

  • 问题内容: 假设我有字符串: 我得到的位置无关紧要,但是为了具体起见,假设我从二进制文件中读取了它。 我知道我的字符串是4(4字节)浮点数的二进制表示形式。我想将那些浮点数作为一个numpy数组。我 可以 做: 但是创建中间元组似乎很愚蠢。有没有一种方法可以在不创建中间元组的情况下执行此操作? 编辑 我还希望能够以可以指定字符串的字节序的方式构造数组。 问题答案: 或者,如果您想要大端字节序: 的