NumPy のエンコード関数

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

NumPyは、配列を扱うために使われる人気のあるPythonライブラリです。NumPyのサブモジュールの1つは、charモジュールで、NumPy配列に適用できるいくつかの文字列操作を提供します。この実験チュートリアルでは、NumPyのcharモジュールのencode()関数について説明します。この関数を使って与えられた入力文字列をエンコードする方法を学びます。例を使ってencode()関数の構文、パラメータ、戻り値について説明します。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebookを使って練習します。

時々、Jupyter Notebookが読み込み終わるまで数秒待つ必要があります。Jupyter Notebookの制限により、操作の検証は自動化できません。

学習中に問題がある場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決します。

NumPyライブラリをインポートする

まず、encode()関数を使用するために必要なNumPyライブラリをインポートします。NumPyをインポートするためのコードブロックは次のとおりです。

import numpy as np

異なるエンコード方式でencode()関数を使用する

ここでは、2つの異なるエンコード方式 'cp037' と 'utf-8' で encode() 関数を使用します。このために、まず文字列の配列を定義します。

a = ['aAaAaA',' aA  ', 'abBABba', 'dffgs', 'ttsred']

エンコード方式 'cp037' を使用する場合:

入力配列とエンコードタイプをパラメータとして渡すことで、エンコード方式 'cp037' で encode() 関数を使用します。次がコードブロックです。

x = np.char.encode(a, encoding='cp037', errors=None)

上記のコードブロックは、入力配列 a を読み取り、'cp037' エンコード方式でエンコードします。エンコードされた文字列は変数 x に格納されます。エラーハンドリングメカニズムが指定されていないため、errors パラメータは None に設定されています。次に、入力配列とエンコードされた文字列を次のように出力します。

print("Input is:")
print(a)

print("Encoded String is:")
print(x)

出力:

Input is:
['aAaAaA',' aA  ', 'abBABba', 'dffgs', 'ttsred']
Encoded String is:
[b'\x81\xc1\x81\xc1\x81\xc1' b'@@\x81\xc1@@'
 b'\x81\x82\xc2\xc1\xc2\x82\x81' b'\x84\x86\x86\x87\xa2'
 b'\xa3\xa3\xa2\x99\x85\x84']

エンコード方式 'utf-8' を使用する場合:

入力配列とエンコードタイプをパラメータとして渡すことで、エンコード方式 'utf-8' で encode() 関数を使用します。次がコードブロックです。

x = np.char.encode(a, encoding='utf-8', errors=None)

上記のコードブロックは、入力配列 a を読み取り、'utf-8' エンコード方式でエンコードします。エンコードされた文字列は変数 x に格納されます。エラーハンドリングメカニズムが指定されていないため、errors パラメータは None に設定されています。次に、入力配列とエンコードされた文字列を次のように出力します。

print("Input is:")
print(a)

print("Encoded String is:")
print(x)

出力:

Input is:
['aAaAaA',' aA  ', 'abBABba', 'dffgs', 'ttsred']
Encoded String is:
[b'aAaAaA' b' aA ' b'abBABba' b'dffgs' b'ttsred']

まとめ

この実験では、NumPyライブラリのcharモジュールのencode()関数について学びました。この関数の構文と返り値を使った使い方について説明しました。また、'cp037'や'utf-8'などの異なるエンコード方式についても説明し、例を使ってその使い方を示しました。encode()関数は、入力文字列を要素ごとにエンコードし、エンコードされた文字列を返します。