PandasにおけるDataFrameで特定の位置に特定の列を挿入する

PandasにおけるDataFrameで特定の位置に特定の列を挿入してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameを作成する

DataFrameで特定の位置に特定の列を挿入する前に、DataFrameを作成します。

■コード

import pandas as pd

data = {
    '2':[10,20,30,40,50],
    '3':[90,91,92,93,94],
}

df = pd.DataFrame(data)

print(df)

インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に「2」、「3」の2つの列を格納します。各列内の値は数値となっています。

格納後、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

■実行

このスクリプトを実行すると、作成したDataFrameが出力されます。

■作成したDataFrameの特定の位置に特定の列を挿入する

DataFrameの用意ができましたので、作成したDataFrameの特定の位置に特定の列を挿入するスクリプトを書いていきます。

■DataFrameの先頭に新しい列を挿入する

■コード

import pandas as pd

data = {
    '2':[10,20,30,40,50],
    '3':[90,91,92,93,94],
}

df = pd.DataFrame(data)

New_Column = [100,101,102,103,104]

df.insert(loc = 0, column= '1', value= New_Column)

print(df)

DataFrameの先頭に新しい列を挿入する場合は、dataという変数内のデータを元に、DataFrameを作成。その後にNew_Columnという変数を作成し、その中に列に挿入する値を格納します。

格納後、df.insert()と記述します。括弧内の第1の引数には、「loc=」と記述します。これで列を選択して値を挿入できます。今回は「0」と指定し、先頭に値を挿入します。

第2の引数には、「column=」と記述します。これでカラムの名前を設定できます。今回は「1」としています。

第3の引数では、「value=」と記述します。これで列に挿入する値を指定できます。今回は「New_Column」を指定しています。

最後に、新しい列を挿入したDataFrameをprint関数で出力します。

■実行

このスクリプトを「df_Ins_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、DataFrameの先頭に新しい列を挿入することができました。

■DataFrameの中央に新しい列を挿入する

では、次にDataFrameの中央に新しい列を挿入してみます。

■コード

import pandas as pd

data = {
    '2':[10,20,30,40,50],
    '3':[90,91,92,93,94],
}

df = pd.DataFrame(data)

New_Column = [100,101,102,103,104]

df.insert(loc = 1, column= '1', value= New_Column)

print(df)

DataFrameの中央に新しい列を挿入する場合は、df.insert()と記述し、第1の引数を、先ほどは「0」と指定し先頭へ列を挿入しましたが、今後は中央に挿入したいので、「1」と記述します。

これで中央に新しい列を挿入することができます。

■実行

このスクリプトを「df_Ins_3.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、DataFrameの中央に新しい列が挿入され出力できることを確認できました。

■DataFrameの最後に新しい列を挿入する

では、次にDataFrameの最後に新しい列を挿入してみます。

■コード

import pandas as pd

data = {
    '2':[10,20,30,40,50],
    '3':[90,91,92,93,94],
}

df = pd.DataFrame(data)

New_Column = [100,101,102,103,104]

df.insert(loc = len(df.columns), column= '1', value= New_Column)

print(df)

DataFrameの最後に新しい列を挿入する場合は、df.insert()と記述し、第1の引数を、先ほどは「0」と指定し先頭へ列を挿入しましたが、今後は最後に挿入したいので、df.columnsと記述し、DataFrameのインデックス配列の情報を取得し、さらにlen()と記述し、要素数を確認することで、末尾へ新しい列を挿入することができます。

■実行

このスクリプトを「df_Ins_4.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、DataFrameの最後に新しい列を挿入することができました。

コメント

タイトルとURLをコピーしました