Pandas DataFrameの列の先頭文字を大文字に変換する方法
pandasのDataFrame(データフレーム)は、行と列で構成される表形式のデータ構造です。データ処理を行っていると、特定の列に含まれる文字列の先頭文字だけを大文字に変換したい場面に出会うことがあります。この記事では、pandasを使って列の先頭文字を大文字化する方法を解説します。
データフレームの作成
まず、例として「Day」(曜日)と「Subject」(科目)という2つの列を持つデータフレームを作成します。
サンプルコード
import pandas as pd
# データフレームを作成
df = pd.DataFrame({'Day': ['mon', 'tue', 'wed', 'thu', 'fri'],
'Subject': ['Math', 'english', 'science', 'music', 'games']})
print(df)
出力結果
上記のコードを実行すると、次のような結果が得られます。
Day Subject 0 mon Math 1 tue english 2 wed science 3 thu music 4 fri games
str.capitalize()関数を適用する
文字列の先頭を大文字にするには、str.capitalize()メソッドを使用します。このメソッドを「Day」列に適用すると、すべての曜日の先頭文字が大文字に変換されます。
なお、str.capitalize()は先頭文字を大文字にすると同時に、それ以外の文字をすべて小文字にする点に注意してください。
サンプルコード
import pandas as pd
# データフレームを作成
df = pd.DataFrame({'Day': ['mon', 'tue', 'wed', 'thu', 'fri'],
'Subject': ['Math', 'english', 'science', 'music', 'games']})
# Day列の先頭文字を大文字に変換
df['Day'] = df['Day'].str.capitalize()
print(df)
出力結果
上記のコードを実行すると、次のような結果が得られます。
Day Subject 0 Mon Math 1 Tue english 2 Wed science 3 Thu music 4 Fri games
まとめ
str.capitalize()を使えば、データフレームの指定した列の文字列について、先頭文字のみを簡単に大文字へ変換できます。また、用途に応じて、各単語の先頭を大文字にするstr.title()や、すべての文字を大文字にするstr.upper()などのメソッドも活用すると便利です。
-
Pandasで既存のDataFrameに新しい列を追加する方法
PandasのDataFrameは2次元のデータ構造で、データが行と列からなる表形式で整然と配置されます。Pythonの辞書(dict)、リスト(list)、Seriesなどを用いて作成できます。この記事では、既存のDataFrameに新しい列を追加する方法を、具体的なコード例とともに解説します。 準備:SeriesからDataFrameを作成する まず、pandasのSeriesを使って基本的なDataFrameを作成しましょう。以下の例では、pandasのSeriesを1列だけのDataFrameに変換し、「Month_No」という列名を付けています。 コード例 import pandas
-
【Pandas】DataFrameの列の文字列を大文字に変換する方法
Pandasでは、DataFrameの文字列型の列に含まれる値をまとめて大文字に変換したい場面がよくあります。本記事では、str.upper()メソッドを使う方法と、apply()メソッドにラムダ式を組み合わせる方法の2つを、具体的なコード例とともに解説します。 方法1:str.upper()を使う .str.upper()は、Series内のすべての文字列要素を一括で大文字に変換できるシンプルかつ高速な方法です。文字列アクセサ(.str)を介して呼び出すため、コードも非常に読みやすくなります。 例 import pandas as pd # データフレームを作成 df = pd.DataF