Pandas DataFrame に新しい列を追加または割り当てるには:

df = df.assign(new_column_name=["item_1", "item_2", "item_3", ...])

ケース1: Pandas DataFrameに単一の列を追加または割り当てる

簡単な例から始めるには、製品に関する 1 つの列を持つ DataFrame を作成します。

import pandas as pd

data = {"product_name": ["tablet", "printer", "laptop", "monitor"]}

df = pd.DataFrame(data)

print(df)

Pythonでデータフレームがどのように見えるかを示します

Pandas DataFrame に新しい列を追加または割り当てる 1

次に、次のテンプレートを使用して、DataFrame に新しい列を割り当てることができます。

df = df.assign(new_column_name=["item_1", "item_2", "item_3", ...])

たとえば、元の DataFrame に「price」という新しい列を割り当てるには、次のようにします。

import pandas as pd

data = {"product_name": ["tablet", "printer", "laptop", "monitor"]}

df = pd.DataFrame(data)
df = df.assign(price=[250, 100, 1200, 300])

print(df)

Python でコードを実行すると、新しい列が表示されます。

Pandas DataFrame に新しい列を追加または割り当てる 2

注記新しい列のアイテム数は、既存のDataFrameのインデックスの長さと一致する必要があります。この例では商品が4つあるため、新しい「price」列に4つの価格を追加する必要があります。そうしないと、次のエラーが発生します。

ValueError: 値の長さがインデックスの長さと一致しません

ケース2: Pandas DataFrameに複数の列を追加または割り当てる

ここで、DataFrame に 2 つの列を割り当てます。

  • 「price」列と
  • 「band」列

次に、次のコードを適用して、これらの 2 つの列を DataFrame に割り当てることができます。

import pandas as pd

data = {"product_name": ["tablet", "printer", "laptop", "monitor"]}

df = pd.DataFrame(data)
df = df.assign(price=[250, 100, 1200, 300], brand=["aa", "bb", "cc", "dd"])

print(df)

Python でコードを実行すると、次の 2 つの追加列が表示されます。

結果:

Pandas DataFrame に新しい列を追加または割り当てる 3