はじめに
このチュートリアルでは、Numpy のchar.find()関数について説明します。この関数は、文字列の配列内の部分文字列を見つけるために使用されます。それは部分文字列の最初の出現位置のインデックスを返します。char.find()関数は、Python のstr.find()関数に似ています。
VM のヒント
VM の起動が完了した後、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお尋ねください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。
Numpy ライブラリをインポートする
このステップでは、import numpy文を使って Numpy ライブラリをインポートします。
import numpy as np
文字列を含む配列を作成する
このステップでは、np.array()関数を使って文字列の配列を作成します。
arr = np.array(['AAAabbbbbxcccccyyysss', 'AAAAAAAaattttdsxxxxcccc', 'AAaaxxxxcccutt', 'AAaaxxccxcxXDSDdscz'])
配列内の部分文字列を見つける
このステップでは、np.char.find()関数を使って配列内の部分文字列を見つけます。最初のパラメータは配列で、2 番目のパラメータは見つけたい部分文字列です。オプションのstartとendパラメータを使って、部分文字列を検索する範囲も指定できます。
print(np.char.find(arr, 'xc'))
特定の範囲内で部分文字列を見つける
このステップでは、再びnp.char.find()関数を使って特定の範囲内の部分文字列を見つけます。今回は、範囲を指定するためにstartパラメータを使います。
print(np.char.find(arr, 'xc', start=3))
特定のインデックス以降の部分文字列を見つける
このステップでは、np.char.find()関数を使って特定のインデックス以降の部分文字列を見つけます。インデックスを指定するために再びstartパラメータを使います。
print(np.char.find(arr, 'xc', start=8))
存在しない部分文字列を処理する
このステップでは、np.char.find()関数を使って存在しない部分文字列を処理します。部分文字列を含まない配列を使い、部分文字列を含まない範囲を指定します。
arr = np.array(['AAAabbbbbxcccccyyysss', 'AAAAAAAaattttds', 'AAaaxcutt', 'AAaaxXDSDdscz'])
print(np.char.find(arr, 'xc'))
print(np.char.find(arr, 'xc', start=8))
まとめ
このチュートリアルでは、Numpy ライブラリのnp.char.find()関数について学びました。文字列を含む配列内の部分文字列をこの関数を使ってどのように見つけるか、および部分文字列を検索するための範囲をどのように指定するかを学びました。また、存在しない部分文字列をどのように処理するかも学びました。