はじめに
Pythonのデータ分析ライブラリであるPandasは、データを扱う際に非常に便利な機能を提供しています。その中でも、DataFrameと呼ばれるデータ構造を使用することで、表形式のデータを柔軟に操作することができます。本記事では、Pandasを使用してDataFrameに配列(リスト)を追加したり、列名を変更したりする方法について解説します。
配列(リスト)を列として追加
まずは、DataFrameに新たな列として配列(リスト)を追加する方法を見ていきましょう。
import pandas as pd # サンプルのDataFrameを作成 data = {'名前': ['Alice', 'Bob', 'Charlie'], '年齢': [25, 30, 35]} df = pd.DataFrame(data) # 新たな列を追加 new_column = ['A', 'B', 'C'] df['新しい列'] = new_column print(df)
上記のコードでは、まずサンプルのDataFrameを作成しました。その後、新たな列として使用する配列(リスト)を作成し、df[‘新しい列’]のように列名を指定して新しい列を追加しています。実行結果は以下の通りとなります:
名前 年齢 新しい列 0 Alice 25 A 1 Bob 30 B 2 Charlie 35 C
既存の列名の変更
Pandasを使用してDataFrame内の列名を変更する方法を見てみましょう。
# 列名を変更 df.rename(columns={'新しい列': '変更後の列名'}, inplace=True) print(df)
上記のコードでは、rename()関数を使用して列名を変更しています。変更前の列名と変更後の列名を辞書形式で指定し、inplace=Trueとすることで元のDataFrameの列名を直接変更します。実行結果は以下の通りとなります:
名前 年齢 変更後の列名 0 Alice 25 A 1 Bob 30 B 2 Charlie 35 C
新しい列の追加とその列名の設定
新しい列を追加する際に、列名を同時に設定する方法もあります。以下のコードを参考にしてください。
import pandas as pd # サンプルのDataFrameを作成 data = {'名前': ['Alice', 'Bob', 'Charlie'], '年齢': [25, 30, 35]} df = pd.DataFrame(data) # 新しい列を追加し、列名を設定 new_column = ['A', 'B', 'C'] df = df.assign(新しい列=new_column) print(df)
上記のコードでは、assign()関数を使用して新しい列を追加し、列名を設定しています。assign()関数は、新しい列を追加したDataFrameを返すため、df = df.assign(新しい列=new_column)のように代入することで元のDataFrameを更新します。実行結果は以下の通りとなります:
名前 年齢 新しい列 0 Alice 25 A 1 Bob 30 B 2 Charlie 35 C
新しい列の初期化
import pandas as pd # サンプルのDataFrameを作成 data = {'名前': ['Alice', 'Bob', 'Charlie'], '年齢': [25, 30, 35]} df = pd.DataFrame(data) # 新しい列を追加し、特定の値で初期化 df['新しい列'] = 0 print(df)
上記のコードでは、新しい列を追加し、初期値として0を設定しています。df[‘新しい列’] = 0のように値を代入することで、新しい列が追加されます。実行結果は以下の通りとなります:
名前 年齢 新しい列 0 Alice 25 0 1 Bob 30 0 2 Charlie 35 0
新しい列を追加し、特定の値で初期化する方法もあります。以下のコードをご覧ください。
複数の列の追加と列名の変更
import pandas as pd # サンプルのDataFrameを作成 data = {'名前': ['Alice', 'Bob', 'Charlie'], '年齢': [25, 30, 35]} df = pd.DataFrame(data) # 複数の列を追加し、列名を変更 new_columns = {'新しい列1': ['A', 'B', 'C'], '新しい列2': [1, 2, 3]} df = df.assign(**new_columns) print(df)
上記のコードでは、assign()関数を使用して複数の列を一度に追加し、列名を変更しています。新しい列とその値を辞書形式で指定し、**new_columnsのように引数を展開して渡すことで複数の列を一度に追加します。
名前 年齢 新しい列1 新しい列2 0 Alice 25 A 1 1 Bob 30 B 2 2 Charlie 35 C 3
複数の列を一度に追加し、それぞれの列名を変更することもできます。以下のコードを参考にしてください。
まとめ
本記事では、Pandasを使用してDataFrameに配列(リスト)を追加し、列名を変更する方法について解説しました。以下の内容をまとめます。
- 配列(リスト)を列として追加するには、df[‘新しい列’] = new_columnのように新しい列を作成します。
- 列名を変更するには、df.rename(columns={‘新しい列’: ‘変更後の列名’}, inplace=True)のようにrename()関数を使用します。
- 新しい列の追加と列名の設定は、df = df.assign(新しい列=new_column)のようにassign()関数を使用します。
- 新しい列の初期化は、df[‘新しい列’] = 0のように値を代入します。
- 複数の列の追加と列名の変更は、df.assign(**new_columns)のように複数の列とその値を辞書形式で指定します。
Pandasの柔軟な操作機能を活用して、DataFrameに新しい列を追加し、列名を変更することができます。データ分析や前処理の際に便利な手法ですので、ぜひ活用してみてください。