Python Numpy将整数连接到字符串
我有一个相当大的M*N整数的numpy数组,我希望最终得到一个字符串的M数组,它将所有N个对应的整数连接起来。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数组的示例: >>&
我尝试使用视图,但这可能不是使用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])
更好地处理行的可变长度。