Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】Pandasで別のデータフレームから列を追加する方法(insert()メソッド)

Pandasでは、insert()メソッドを使うことで、別のデータフレームから列を簡単に追加できます。まずは、元となる最初のデータフレームを作成しましょう。

dataFrame1 = pd.DataFrame({"Car": ["Audi","Lamborghini", "BMW", "Lexus"],
    "Place": ["US", "UK", "India", "Australia"],
    "Units": [200, 500, 800, 1000]})

このデータフレームには、「Car」「Place」「Units」の3つの列が含まれています。

次に、列の追加先となる2つ目のデータフレームを作成します。

dataFrame2 = pd.DataFrame({"Model": [2018, 2019, 2020, 2021], "CC": [3000, 2800, 3500, 3300]})

続いて、1つ目のデータフレームから「Car」列を取り出し、2つ目のデータフレームに追加できるようにします。

# 2つ目のデータフレームに追加するCar列を取得
fetched_col = dataFrame1["Car"]

insert()メソッドの主な引数

insert()メソッドは、以下の引数を指定して使用します。

  • loc: 列を挿入する位置(0から始まるインデックス番号)
  • column: 新しく追加する列の名前
  • value: 挿入するデータ(Seriesやリストなど)

サンプルコード

以下が実際のコード全体です。

import pandas as pd

dataFrame1 = pd.DataFrame({"Car": ["Audi", "Lamborghini", "BMW", "Lexus"],
    "Place": ["US", "UK", "India", "Australia"],
    "Units": [200, 500, 800, 1000]})

print("Dataframe 1...")
print(dataFrame1)

dataFrame2 = pd.DataFrame({"Model": [2018, 2019, 2020, 2021], "CC": [3000, 2800, 3500, 3300]})
print("Dataframe 2...")
print(dataFrame2)

# 2つ目のデータフレームに追加するCar列を取得
fetched_col = dataFrame1["Car"]

dataFrame2.insert(1, "LuxuryCar", fetched_col)
print("Dataframe 2 (Updated):")
print(dataFrame2)

この例では、insert(1, "LuxuryCar", fetched_col)とすることで、1番目の位置(「CC」と「Model」の間)に「LuxuryCar」という名前でCar列のデータを挿入しています。

実行結果

上記のコードを実行すると、次のような出力が得られます。

Dataframe 1...
         Car      Place    Units
0       Audi         US      200
1 Lamborghini         UK      500
2        BMW      India      800
3       Lexus  Australia     1000
Dataframe 2...
    CC   Model
0 3000    2018
1 2800    2019
2 3500    2020
3 3300    2021
Dataframe 2 (Updated):
    CC   LuxuryCar   Model
0 3000        Audi    2018
1 2800 Lamborghini    2019
2 3500         BMW    2020
3 3300        Lexus    2021

出力結果を見ると、2つ目のデータフレームの指定した位置に「LuxuryCar」列が正しく追加されていることが確認できます。このように、insert()メソッドを使えば、挿入位置や列名を自由に指定しながら、別のデータフレームの列を柔軟に追加できます。

  1. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存

  2. Python Pandas:read_csvのskipinitialspaceでCSV読み込み時の先頭スペースをスキップする方法

    PandasでCSVの先頭スペースをスキップするには?PandasでDataFrameを読み込む際、データの先頭にある余分な空白(初期スペース)を取り除きたい場合は、read_csv()メソッドのskipinitialspaceパラメータを使用します。このパラメータをTrueに設定すると、区切り文字(カンマなど)の直後にある空白が自動的にスキップされます。CSVファイルの中には、カンマの後に不要なスペースが混ざっているケースが少なくありません。そのまま読み込むと、列名や値の先頭に空白が残り、条件検索やグループ化の際にデータが正しく一致しない原因となります。skipinitialspace=Tr