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の最後に新しい列を挿入することができました。
コメント