Pandas Series.str.upper() 関数
Series.str.upper()これはPandasにおいて文字列を大文字に変換するための関数です。
データ処理の過程で、文字列の大文字と小文字の形式を統一する必要がよくあります。例えば、略語やタイトルなどを大文字に変換して、読みやすく認識しやすくします。upper()この関数はSeries内のすべての文字列を大文字に変換できます。
単語の意味:upper「upper」は「上の、より高い」という意味で、ここでは文字を大文字に変換することを表します。
基本構文とパラメータ
str.upper()これはSeriesの文字列アクセサメソッドです。そのため、まず文字列を含むSeriesが必要です。そして.strアクセサを使って呼び出します。
構文形式
Series.str.upper()
パラメータの説明
- パラメータ:パラメータなし。この関数はパラメータを一切必要とせず、直接呼び出すだけです。
関数の説明
- 戻り値:大文字の文字列を含むSeriesを返します。新しいSeriesの長さは元のSeriesと同じです。
- 効果:Series内の各文字列要素を大文字に変換し、文字列以外の要素はそのまま保持します。
- 注意:この関数はアルファベット文字のみを変換し、数字、句読点などの他の文字はそのまま保持します。
例
簡単なものから複雑なものまで一連の例を通して、str.upper()の使い方を徹底的にマスターしましょう。
例1:基本的な使い方 - 単純な文字列を変換する
例
import pandas as pd
# 小文字の文字列を含むSeriesを作成する
s = pd.Series(['hello', 'world', 'サンプル', 'python'])
# str.upper() を使用してすべての文字列を大文字に変換する
result = s.str.upper()
print("元のSeries:")
print(s)
print("n変換後の結果:")
print(result)
# 小文字の文字列を含むSeriesを作成する
s = pd.Series(['hello', 'world', 'サンプル', 'python'])
# str.upper() を使用してすべての文字列を大文字に変換する
result = s.str.upper()
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.upper()文字列アクセサを介して.str呼び出しupper()メソッドにより、すべての文字列を大文字に変換します。- 変換後の結果は新しいSeriesであり、元のSeriesは変更されません。
例2:大文字と小文字が混在する文字列の変換
文字列に大文字と小文字が混在する文字が含まれる場合、upper()はすべての小文字を大文字に変換します。
例
import pandas as pd
# 大文字と小文字が混在する文字列を含むSeriesを作成する
s = pd.Series(['Hello World', 'サンプル tutorial', 'PyThOn', 'Pandas'])
# str.upper() を使用して大文字に変換する
result = s.str.upper()
print("元のSeries:")
print(s)
print("n変換後の結果:")
print(result)
# 大文字と小文字が混在する文字列を含むSeriesを作成する
s = pd.Series(['Hello World', 'サンプル tutorial', 'PyThOn', 'Pandas'])
# str.upper() を使用して大文字に変換する
result = s.str.upper()
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
コード解説:
- 文字列に小文字がいくつ含まれていても、
upper()はそれらをすべて大文字に変換します。 - スペース、数字、句読点はそのまま保持されます。
- これはデータ形式を統一する必要がある場合に非常に役立ちます。例えば、国コードを大文字に変換する場合などです。
例3:特殊文字を含む文字列の処理
upper()はアルファベット文字のみを変換し、他の文字はそのまま保持します。
例
import pandas as pd
# 特殊文字を含むSeriesを作成する
s = pd.Series(['hello123', 'world@サンプル', 'python!', 'a+b=c'])
# str.upper() を使用して大文字に変換する
result = s.str.upper()
print("元のSeries:")
print(s)
print("n変換後の結果:")
print(result)
# 特殊文字を含むSeriesを作成する
s = pd.Series(['hello123', 'world@サンプル', 'python!', 'a+b=c'])
# str.upper() を使用して大文字に変換する
result = s.str.upper()
print("元のSeries:")
print(s)
print("n変換後の結果:")
print(result)
出力結果:
原始 Series: 0 hello123 1 world@サンプル 2 python! 3 a+b=c dtype: object 转换后的结果: 0 HELLO123 1 WORLD@サンプル 2 PYTHON! 3 A+B=C
コード解説:
- 数字(123)はそのまま保持されます。
- 記号(@、!、+、=)はそのまま保持されます。
- アルファベット文字のみが大文字に変換されます。
例4:国コードの形式を統一する
実際の応用では、upper()は国コード、通貨コードなどの形式を統一するためによく使用されます。
例
import pandas as pd
# ユーザーが入力した国コード(任意の大文字小文字の場合がある)
country_codes = pd.Series(['cn', 'us', 'Uk', 'Jp', 'fr'])
# 大文字に統一して変換する
standardized = country_codes.str.upper()
print("元の国コード:")
print(country_codes)
print("n形式統一後:")
print(standardized)
# ユーザーが入力した国コード(任意の大文字小文字の場合がある)
country_codes = pd.Series(['cn', 'us', 'Uk', 'Jp', 'fr'])
# 大文字に統一して変換する
standardized = country_codes.str.upper()
print("元の国コード:")
print(country_codes)
print("n形式統一後:")
print(standardized)
出力結果:
原始国家代码: 0 cn 1 us 2 Uk 3 Jp 4 fr dtype: object 统一格式后: 0 CN 1 US 2 UK 3 JP 4 FR dtype: object
注意事項
str.upper()はアルファベット文字のみを変換し、数字、スペース、句読点などの非アルファベット文字はそのまま保持します。- Seriesに文字列以外の要素(NaNや整数など)が含まれている場合、
upper()はそれらを元のまま保持し、エラーを発生させません。 - この関数は新しいSeriesを返し、元のデータを変更しません。
- 中国語の文字列については、中国語に大文字と小文字の区別がないため、中国語の文字は影響を受けません。
その他の拡張
Pandas よく使う関数