2
私は.matファイルからデータを読み込んでいます。データは、数字の配列になっています。U3 dtypeからasciiへの変換
[array([u'ABT'], dtype='<U3')]
これは配列の要素の1つです。配列から値 'ABT'だけを取得したいです。 Unicodeの正規化とEncode to ascii関数は機能しません。
私は.matファイルからデータを読み込んでいます。データは、数字の配列になっています。U3 dtypeからasciiへの変換
[array([u'ABT'], dtype='<U3')]
これは配列の要素の1つです。配列から値 'ABT'だけを取得したいです。 Unicodeの正規化とEncode to ascii関数は機能しません。
encode
は文字列メソッドなので、文字列の配列に対して直接動作することはできません。しかし、各文字列にそれを適用する方法はいくつかあります。
ここで私はPy3を使っていますので、デフォルトはunicodeです。
In [179]: A=np.array(['one','two'])
In [180]: A
Out[180]:
array(['one', 'two'],
dtype='<U3')
普通の反復:
In [181]: np.array([s.encode() for s in A])
Out[181]:
array([b'one', b'two'],
dtype='|S3')
np.char
は、配列の各要素に文字列方法を適用する機能を有する。
In [182]: np.char.encode(A)
Out[182]:
array([b'one', b'two'],
dtype='|S3')
をこれはastype
変換の一つであるように見えます処理できる:
In [183]: A.astype('<S3')
Out[183]:
array([b'one', b'two'],
dtype='|S3')
と最近の質問に触発についてnp.chararray
: What happened to numpy.chararray
In [191]: Ac=np.char.array(A)
In [192]: Ac
Out[192]:
chararray(['one', 'two'],
dtype='<U3')
In [193]: Ac.encode()
Out[193]:
array([b'one', b'two'],
dtype='|S3')