PythonやNumPyでisspace関数を使って空白文字かどうか判定する方法

スポンサーリンク

Python Stringは、文字列入力を処理するための鮮やかな組み込みメソッドを持っています。

スポンサーリンク

Python を始めるにあたって String isspace()

Python の文字列 isspace() メソッドは、入力文字列内にホワイトスペースがあるかどうかをチェックするために使用されます。

ホワイトスペースは次のような文字です。

  • n
  • t
  • v
  • f
  • ‘ ‘
  • r
  • 等です。

入力文字列がホワイトスペースだけを含んでいる場合、True を返します。

それ以外の場合、入力文字列に1つ以上の非空白文字が含まれていると、この関数は False を返します。

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

input_string.isspace()

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

inp = 'Engineering_Discipline'
 
print(inp.isspace())

上記の例では、入力文字列に空白文字が含まれていないため、この関数は False を返します。

結果は以下の通りです。

False

例2:

inp = '
'
   
print(inp.isspace())
  

この例では、入力文字列は空白のみです。

したがって、この関数はTrueと評価される。

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

True

例3:

inp = ' hello everyone!!
'
   
print(inp.isspace())
  

この例では、入力文字列に空白文字と非空白文字の組み合わせ、すなわち、1つ以上の非空白文字が含まれている。

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

結果は以下の通りです。

False

NumPy isspace()メソッド

Python NumPyモジュールは、配列の入力要素に空白があるかどうかをチェックするために、numpy.char.ispace()メソッドを提供しています。

構文は以下の通りです。

numpy.char.isspace(input_array)

numpy.char.ispace()`関数は、入力配列の要素ごとに空白文字があるかどうかをチェックします。

つまり、配列の各要素についてチェックし、存在する要素ごとに真か偽を返します。

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

import numpy
   
 
inp_arr1 = numpy.array([ 'Science', 'Commerce', 'Arts'] )
print ("Elements of array1:
"
, inp_arr1) 
   
res1 = numpy.char.isspace(inp_arr1)
print ("Array1 after using isspace():
"
, res1)
 
inp_arr2 = numpy.array([ 'Sci
ence'
, 'Commerce ', 'Arts'] )
print ("Elements of array2:
"
, inp_arr2) 
   
res2 = numpy.char.isspace(inp_arr2)
print ("Array2 after using isspace():
"
, res2)
 
inp_arr3 = numpy.array([ '

', ' ', ' '] )

print ("Elements of array3:
"
, inp_arr3) 
   
res3 = numpy.char.isspace(inp_arr3)
print ("Array3 after using isspace():
"
, res3)

結果は以下の通りです。

Elements of array1:
 ['Science' 'Commerce' 'Arts']
Array1 after using isspace():
 [False False False]
 
Elements of array2:
 ['Sci
ence'
'Commerce ' 'Arts']
Array2 after using isspace():
 [False False False]
 
Elements of array3:
 ['

' 'x0c ' ' ']

Array3 after using isspace():
 [ True  True  True]

Pandas isspace() メソッド

Pandasモジュールには、SeriesやDataFrameに存在するデータ全体の空白文字列をチェックするispace()関数が含まれています。

構文は以下の通りです。

Series.str.isspace()

Series.str.ispace()`メソッドは、各要素のホワイトスペースをチェックし、その要素に対してのみTrueを返します。

注意:Series.str.ispace()メソッドはstring型の要素に対してのみ動作します。

もし、文字列以外の値に遭遇した場合は、ValueError例外を発生させます。

この例外は .astype() 関数で制御することができます。

.astype()関数は、文字列型でないデータを文字列型に変換します。

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

import pandas
 
inp_data = pandas.Series(['Jim', 'Jonny', ' ', ' ', 'Daisy', '
'
])
 
res = inp_data.str.isspace()
 
print(res)

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

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

まとめ

今回は、Pythonの文字列ispace()メソッドの機能を理解しました。


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