Python Numpy将整数连接到字符串

Python Numpy将整数连接到字符串,python,numpy,Python,Numpy,我有一个相当大的M*N整数的numpy数组,我希望最终得到一个字符串的M数组,它将所有N个对应的整数连接起来。 我尝试使用视图,但这可能不是使用numpy的方式。希望这是您想要的 numpy.apply_along_axis(numpy.array_str,0,array) 沿_轴查看应用_的文档 和数组_str 为了更深入地理解如果你想将整数连接到字符串,它不会比numpy数组更长!您将拥有一个包含字符串索引的列表 这是一个将“a”连接到numpyzero数组的示例: >>&

我有一个相当大的M*N整数的numpy数组,我希望最终得到一个字符串的M数组,它将所有N个对应的整数连接起来。
我尝试使用视图,但这可能不是使用numpy的方式。

希望这是您想要的

numpy.apply_along_axis(numpy.array_str,0,array)
沿_轴查看应用_的文档

和数组_str


为了更深入地理解

如果你想将
整数
连接到
字符串
,它不会比
numpy
数组更长!您将拥有一个包含字符串索引的列表

这是一个将“a”连接到
numpy
zero数组的示例:

>>> np.zeros(10)
array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])

>>> [str(i)+'a' for i in np.zeros(10)]
['0.0a', '0.0a', '0.0a', '0.0a', '0.0a', '0.0a', '0.0a', '0.0a', '0.0a', '0.0a']
>>> 

如果没有一个例子,您的请求是不清楚的。但这里有一种理解方法

In [13]: X=np.arange(12).reshape(3,4)
In [14]: np.array([''.join([str(i) for i in x]) for x in X])
Out[14]: 
array(['0123', '4567', '891011'], 
    dtype='|S6')
我有一个3x4阵列;我使用
str(I)
将每个元素转换为字符串,并使用
join
将行中的字符串连接为一个较长的字符串

这不是一个很令人满意的答案,尤其是当把“9”和“10”连接起来时。当然,可以通过详细说明“int”到“string”的格式(即固定宽度),或者在“join”中添加分隔符等来改进它

In [21]: np.array([','.join(['{:*^8}'.format(i) for i in x]) for x in X])
Out[21]: 
array(['***0****,***1****,***2****,***3****',
       '***4****,***5****,***6****,***7****',
       '***8****,***9****,***10***,***11***'], 
      dtype='|S35')

只有当您需要某种字符串到字节的表示,或者str到char时,
视图才能工作

请显示一些示例输入和所需输出。此输出看起来可疑:
np.apply_沿_轴(np.array_str,1,np.arange(12)。重塑(3,4))
=>
array(['[01 2 3]','[4 5 6 7]',[8 9 10'],dtype=''S9')
np.array([np array_str(x)for x in x])
更好地处理行的可变长度。