PythonのPandasを使用して新しい列を作成する方法
PythonのPandasライブラリを使用すると、データフレーム内の他の列の値に基づいて新しい列を簡単に作成することができます。新しい列を追加するには、既存の列を操作して新しい列を生成する方法があります。
例1: 他の列の値に基づいて新しい列を作成する
import pandas as pd # サンプルデータを作成 data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40]} df = pd.DataFrame(data) # 列Aと列Bの値を掛け合わせて新しい列Cを作成 df['C'] = df['A'] * df['B'] print(df)
上記のコードでは、列Aと列Bの値を掛け合わせて新しい列Cを作成しています。実行結果は以下のようになります。
A B C 0 1 10 10 1 2 20 40 2 3 30 90 3 4 40 160
例2: 条件に基づいて新しい列を作成する
# サンプルデータを作成 data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40]} df = pd.DataFrame(data) # 列Aが特定の値の場合に新しい列Dを作成 df['D'] = df['A'].apply(lambda x: 'Even' if x % 2 == 0 else 'Odd') print(df)
上記のコードでは、列Aが偶数の場合は’Even’、奇数の場合は’Odd’という値を持つ新しい列Dを作成しています。実行結果は以下のようになります。
A B D 0 1 10 Odd 1 2 20 Even 2 3 30 Odd 3 4 40 Even
例3: 複数の列の値を組み合わせて新しい列を作成する
# サンプルデータを作成 data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40], 'C': [100, 200, 300, 400]} df = pd.DataFrame(data) # 列A、B、Cの値を足し合わせて新しい列Eを作成 df['E'] = df['A'] + df['B'] + df['C'] print(df)
上記のコードでは、列A、B、Cの値を足し合わせて新しい列Eを作成しています。実行結果は以下のようになります。
A B C E 0 1 10 100 111 1 2 20 200 222 2 3 30 300 333 3 4 40 400 444
PandasはPythonのデータ解析ライブラリであり、データフレームを操作するための便利な機能を提供します。他の列の値に基づいて新しい列を作成する方法として、Pandasのapply()メソッドを使用することができます。apply()メソッドを使うと、各行に対して指定した関数を適用し、新しい列を作成することができます。
例えば、以下のようなデータフレームdfがあるとします。
“`
import pandas as pddata = {‘A’: [1, 2, 3, 4],
‘B’: [5, 6, 7, 8]}df = pd.DataFrame(data)
“`次のようにapply()メソッドを使用して、列Aと列Bの値を足し合わせて新しい列Cを作成することができます。
“`
df[‘C’] = df.apply(lambda row: row[‘A’] + row[‘B’], axis=1)
“`このコードでは、各行の列Aと列Bの値を足し合わせて新しい列Cに格納しています。axis=1を指定することで、行ごとに処理を行っています。
このように、Pandasを使用して他の列の値に基づいて新しい列を作成する際には、apply()メソッドを活用することで効率的に処理を行うことができます。