Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python NumPyのchar.index()メソッドで部分文字列が見つかる最小のインデックスを取得する方法

Python NumPyのnumpy.char.index()メソッドを使用すると、文字列の中で部分文字列subが最初に見つかった位置(最小のインデックス)を取得できます。このメソッドは整数型(int)の出力配列を返し、部分文字列が見つからない場合はValueErrorが発生します。第1引数には入力配列、第2引数には検索したい部分文字列を指定します。

実行手順

まず、必要なライブラリをインポートします。

import numpy as np

文字列の1次元配列を作成します。

arr = np.array(['KATIE', 'KATE'])

作成した配列を表示します。

print("Array...\n",arr)

配列のデータ型を確認します。

print("\nArray datatype...\n",arr.dtype)

配列の次元数を取得します。

print("\nArray Dimensions...\n",arr.ndim)

配列の形状を取得します。

print("\nOur Array Shape...\n",arr.shape)

配列の要素数を取得します。

print("\nNumber of elements in the Array...\n",arr.size)

numpy.char.index()メソッドを使って、部分文字列「AT」が見つかる最小のインデックスを返します。

print("\nResult (index() method)...\n",np.char.index(arr, 'AT'))

完全なコード例

import numpy as np

# 文字列の1次元配列を作成
arr = np.array(['KATIE', 'KATE'])

# 配列を表示
print("Array...\n",arr)

# データ型を取得
print("\nArray datatype...\n",arr.dtype)

# 次元数を取得
print("\nArray Dimensions...\n",arr.ndim)

# 形状を取得
print("\nOur Array Shape...\n",arr.shape)

# 要素数を取得
print("\nNumber of elements in the Array...\n",arr.size)

# numpy.char.index()メソッドで部分文字列'AT'が見つかる最小のインデックスを返す
print("\nResult (index() method)...\n",np.char.index(arr, 'AT'))

出力結果

Array...
['KATIE' 'KATE']

Array datatype...
<U5

Array Dimensions...
1

Our Array Shape...
(2,)

Number of elements in the Array...
2

Result (index() method)...
[1 1]

結果の解説

この例では、文字列「KATIE」と「KATE」のどちらにおいても、部分文字列「AT」はインデックス1の位置に最初に出現するため、出力は[1 1]となっています。

なお、類似のnumpy.char.find()メソッドは部分文字列が見つからない場合に-1を返しますが、index()メソッドの場合はエラーを返さずにValueError例外が発生する点に注意してください。検索対象が必ず存在することが保証されている場合にindex()を使うとよいでしょう。

  1. 【Python NumPy】char.find()で各要素ごとに部分文字列が見つかる最小インデックスを取得する方法

    文字列の中で部分文字列(sub)が最初に見つかった位置(最小インデックス)を取得するには、Python NumPyのnumpy.char.find()メソッドを使用します。このメソッドは整数型(int)の出力配列を返し、部分文字列が見つからなかった場合は-1を返します。第1引数には入力配列を、第2引数には検索対象となる部分文字列を指定します。手順まず、必要なライブラリをインポートします。import numpy as np文字列の1次元配列を作成します。arr = np.array(['KATIE', 'JOHN', 'KATE', 'A

  2. Python・Pandasでインデックスのデータを表す配列を取得する方法(index.values)

    PandasのIndexオブジェクトに格納されているデータをNumPy配列として取得したい場合は、index.valuesプロパティを使用します。このプロパティは、インデックスの各要素を含む配列を返してくれるため、データの抽出や他の処理への受け渡しが簡単に行えます。 index.valuesプロパティの基本的な使い方 まず、必要なライブラリをインポートします。 import pandas as pd 次に、Indexオブジェクトを作成します。ここでは、交通手段の名前を要素とするインデックスを作成してみましょう。 index = pd.Index([Car,Bike,Truck,Ship,Air