Pandas Series.str.lower() 関数
Series.str.lower()Pandas において、文字列を小文字に変換するために使用される関数です。
データ処理の過程で、文字列の大文字小文字の形式を統一する必要がよくあります。例えば、ユーザーが入力した名前や住所などを小文字に変換して、統一した比較や検索を行えるようにします。lower()関数は Series 内のすべての文字列を小文字形式に変換できます。
単語の意味:lower「低下させる、小さくする」という意味で、ここではアルファベットを小文字に変換することを表します。
基本構文とパラメータ
str.lower()は Series の文字列アクセサメソッドです。そのため、まず文字列を含む Series を用意し、次に.strアクセサを使用して呼び出します。
構文形式
Series.str.lower()
パラメータの説明
- パラメータ:引数なし。この関数は引数を必要とせず、直接呼び出せます。
関数の説明
- 戻り値:小文字の文字列を含む Series を返します。新しい Series の長さは元の Series と同じです。
- 効果:Series 内の各文字列要素を小文字形式に変換します。文字列以外の要素はそのまま保持されます。
- 注意:この関数はアルファベット文字のみを変換し、数字、句読点などの他の文字はそのまま保持されます。
例
簡単なものから複雑なものまで一連の例を通して、徹底的に習得しましょう。str.lower()の使い方。
例1:基本用法 - 単純な文字列を変換する
例
import pandas as pd
# 大文字の文字列を含む Series を作成する
s = pd.Series(['HELLO', 'WORLD', 'サンプル', 'PYTHON'])
# str.lower() を使用してすべての文字列を小文字に変換する
result = s.str.lower()
print("元の Series:")
print(s)
print("n変換後の結果:")
print(result)
# 大文字の文字列を含む Series を作成する
s = pd.Series(['HELLO', 'WORLD', 'サンプル', 'PYTHON'])
# str.lower() を使用してすべての文字列を小文字に変換する
result = s.str.lower()
print("元の Series:")
print(s)
print("n変換後の結果:")
print(result)
出力結果:
原始 Series: 0 HELLO 1 WORLD 2 サンプル 3 PYTHON dtype: object 转换后的结果: 0 hello 1 world 2 サンプル 3 python dtype: object
コードの解説:
pd.Series(['HELLO', 'WORLD', 'サンプル', 'PYTHON'])大文字の文字列を含む Series を作成しました。s.str.lower()文字列アクセサを介して.str呼び出しlower()メソッドにより、すべての文字列を小文字に変換します。- 変換後の結果は新しい Series であり、元の Series は変更されません。
例2:大文字と小文字が混在する文字列の変換
文字列に大文字と小文字が混在する場合、lower()すべての大文字を小文字に変換します。
例
import pandas as pd
# 大文字と小文字が混在する文字列を含む Series を作成する
s = pd.Series(['Hello World', 'サンプル Tutorial', 'PyThOn', 'Pandas'])
# str.lower() を使用して小文字に変換する
result = s.str.lower()
print("元の Series:")
print(s)
print("n変換後の結果:")
print(result)
# 大文字と小文字が混在する文字列を含む Series を作成する
s = pd.Series(['Hello World', 'サンプル Tutorial', 'PyThOn', 'Pandas'])
# str.lower() を使用して小文字に変換する
result = s.str.lower()
print("元の Series:")
print(s)
print("n変換後の結果:")
print(result)
出力結果:
原始 Series: 0 Hello World 1 サンプル Tutorial 2 PyThOn 3 Pandas dtype: object 转换后的结果: 0 hello world 1 サンプル tutorial 2 python 3 pandas dtype: object
コードの解説:
- 文字列に大文字がいくつ含まれていても、
lower()それらすべてを小文字に変換します。 - スペース、数字、句読点はそのまま保持されます。
- これはデータクリーニングの際に非常に役立ちます。例えば、ユーザーが入力した名前の形式を統一する場合などです。
例3:大文字小文字を区別しない比較
lower()大文字小文字を区別しない文字列比較を実現するためによく使用されます。
例
import pandas as pd
# 製品名の Series を作成する
products = pd.Series(['Apple', 'BANANA', 'Orange', 'Grape'])
# ユーザーが入力した検索キーワード(大文字小文字は任意の場合がある)
search_keyword = 'BANANA'
# 両方を小文字に変換して、大文字小文字を区別しない比較を行う
matches = products.str.lower() == search_keyword.lower()
print("製品リスト:")
print(products)
print(f"n検索キーワード: {search_keyword}")
print("一致結果:")
print(products[matches])
# 製品名の Series を作成する
products = pd.Series(['Apple', 'BANANA', 'Orange', 'Grape'])
# ユーザーが入力した検索キーワード(大文字小文字は任意の場合がある)
search_keyword = 'BANANA'
# 両方を小文字に変換して、大文字小文字を区別しない比較を行う
matches = products.str.lower() == search_keyword.lower()
print("製品リスト:")
print(products)
print(f"n検索キーワード: {search_keyword}")
print("一致結果:")
print(products[matches])
出力結果:
产品列表: 0 Apple 1 BANANA 2 Orange 3 Grape dtype: object 搜索关键词: BANANA 匹配结果: 1 BANANA dtype: object
コードの解説:
products.str.lower()製品名を小文字に変換します。search_keyword.lower()検索キーワードも小文字に変換します。- 2つの小文字の文字列を比較することで、大文字小文字を区別しない一致を実現しています。
注意事項
str.lower()アルファベット文字のみを変換し、数字、スペース、句読点などの非アルファベット文字はそのまま保持されます。- Series に文字列以外の要素(NaN、整数など)が含まれている場合、
lower()そのまま保持され、エラーは発生しません。 - この関数は新しい Series を返し、元のデータを変更しません。
- 中国語の文字列の場合、中国語の文字は影響を受けません。中国語には大文字と小文字の区別がないためです。
その他の拡張
Pandas よく使う関数