Pythonでistitleメソッドを使って、最初の文字だけが小文字or大文字かを判定する方法

スポンサーリンク

今回は、Pythonの文字列istitle()関数を公開します。

Python Stringは入力された文字列に対して操作を行うための組み込み関数を持っています。

Python String istitle()もその一つです。

スポンサーリンク

Python を始めるにあたって String istitle() メソッド

すなわち、文字列の各単語の「最初の文字」だけが大文字で、残りの文字がすべて小文字である場合に、True を返します。

例として以下の様になります。

inp = 'Taj Mahal'
print(inp.istitle())

上記の例では、istitle()関数は、上記の入力の各単語について、最初の文字だけが大文字であるため、Trueを返します。

出力は

True

例2:

inp = 'Taj mahal'
print(inp.istitle())

この例では、入力文字列の2番目の単語、すなわち「mahal」の最初の文字が大文字ではないので、istitle()メソッドはFalseを返します。

結果は以下の通りです。

False

例 3:

inp = 'TAJ MAHAL'
print(inp.istitle())

この例では、入力文字列のすべての文字が大文字です。

したがって、この関数は False を返す。

結果は、以下の通りになります。

False

NumPy istitle() メソッド

NumPyモジュールには、入力配列のタイトルケースをチェックするための組み込みのistitle()メソッドがあります。

numpy.char.istitle()`メソッドは要素単位で動作します。

これは配列の各要素のタイトルケースを個別にチェックし、True/Falseを返します。

注意: もし入力文字列が0文字を含む場合、デフォルトではこの関数はFalseを返します。

構文は以下の様な感じです。

numpy.char.istitle(input_array)

例えば、以下の様になります。

import numpy
 
 
inp_arr1 = numpy.array(['TAJ', 'Mahal', '14Pen', '20eraser', 'aMAZON', 'F21Ever'])
 
print ("Elements of the array:
"
, inp_arr1)
 
res1 = numpy.char.istitle(inp_arr1)
print ("Array after istitle():
"
, res1 )

結果は以下の通りです。

Elements of the array:
 ['TAJ' 'Mahal' '14Pen' '20eraser' 'aMAZON' 'F21Ever']
Array after istitle():
 [False  True  True False False  True]

Pandas istitle() メソッド

Pandasモジュールは、入力データのタイトルケースをチェックするSeries.str.istitle()メソッドで構成されています。

Series.str.istitle()` メソッドは、データセット/入力の文字列がすべてタイトルケースであるかどうかを要素単位でチェックします。

構文は以下の様な感じです。

Series.str.istitle()

例えば、以下の様になります。

import pandas
res = pandas.Series(['TAJ', 'Mahal', '14Pen', '20eraser', 'aMAZON', 'F21Ever'])
print(res.str.istitle())

上で見たように、入力データに数字があっても、この関数の出力には何の変化もない。

結果は以下の通りです。

0    False
1    True
2    True
3    False
4    False
5    True
dtype: bool

まとめ

今回は、Pythonのistitle()関数の様々なシナリオでの動作について理解しました。


タイトルとURLをコピーしました