aat*_*kan 5 python arrays numpy chars
我有一个numpy字符数组,当我把它写入文件时,它写为:
['K' 'R' 'K' 'P' 'T' 'T' 'K' 'T' 'K' 'R' 'G' 'L']
Run Code Online (Sandbox Code Playgroud)
我希望它只用字母写,没有括号或引号,即:
KRKPTTKTKRGL
Run Code Online (Sandbox Code Playgroud)
我已经看过numpy文档,从我收集到的解决方案是一个chararray但是看起来它不像普通数组那样功能.
任何帮助都会很棒.谢谢!
如果您只有一个numpy数组,那么为什么不直接将它转换为字符串以写入您的文件?你可以使用str.join它来接受一个iterable(list,numpy数组等).
import numpy as np
arr = np.array(['K', 'R', 'K', 'P', 'T', 'T', 'K', 'T', 'K', 'R', 'G', 'L'])
s = ''.join(arr)
# KRKPTTKTKRGL
Run Code Online (Sandbox Code Playgroud)
您可以使用以下tostring()方法numpy:
>>> st = np.array(['K' 'R' 'K' 'P' 'T' 'T' 'K' 'T' 'K' 'R' 'G' 'L'])
>>> st.tostring()
'KRKPTTKTKRGL'
Run Code Online (Sandbox Code Playgroud)
由于你有一个numpy数组,这个方法会比join().
对于Python3x tostring()可以用作:
>>> st = np.array(['K','R','K','P','T','T','K','T','K','R','G','L'])
>>> st.astype('|S1').tostring().decode('utf-8')
'KRKPTTKTKRGL'
Run Code Online (Sandbox Code Playgroud)