HOWTO · Pandas

Pandas のデフォルト値で既存の DataFrame に新しい列を追加する方法

assign メソッドまたは insert メソッドを使用し、新しい列シリーズの値を設定することで、Pandas のデフォルト値で新しい列を既存の DataFrame に追加できます。

このページの内容

DataFrame オブジェクトの assign() および insert() メソッドを使用して、デフォルト値で既存の DataFrame に新しい列を追加できます。作成する DataFrame の列にデフォルト値を直接割り当てることもできます。

次のセクションでは、例として以下の DataFrame を使用します。

import pandas as pd

dates = ["April-10", "April-11", "April-12", "April-13"]
fruits = ["Apple", "Papaya", "Banana", "Mango"]
prices = [3, 1, 2, 4]

df = pd.DataFrame({"Date": dates, "Fruit": fruits, "Price": prices})

print(df)

出力:

       Date   Fruit  Price
0  April-10   Apple      3
1  April-11  Papaya      1
2  April-12  Banana      2
3  April-13   Mango      4

Pandas DataFrame に新しい列を追加するための pandas.DataFrame.assign()

pandas.DataFrame.assign() メソッドを使用して、新しい列を既存の DataFrame を作成し、新しく作成された DataFrame 列にデフォルト値を割り当てます。

import pandas as pd

dates = ["April-10", "April-11", "April-12", "April-13"]
fruits = ["Apple", "Papaya", "Banana", "Mango"]
prices = [3, 1, 2, 4]

df = pd.DataFrame({"Date": dates, "Fruit": fruits, "Price": prices})

new_df = df.assign(Profit=6)
print(new_df)

出力:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       6
1  April-11  Papaya      1       6
2  April-12  Banana      2       6
3  April-13   Mango      4       6

コードは、DataFrame に新しい列 Profit を作成し、列全体の値を 6 に設定します。

新しい列にアクセスして、デフォルト値を設定する

DataFrame インデックスを使用して、DataFrame に新しい列を作成し、それをデフォルト値に設定できます。

構文:

df[col_name] = value

DataFrame df に新しい列 col_name を作成し、列全体のデフォルト値を value に設定します。

import pandas as pd

dates = ["April-10", "April-11", "April-12", "April-13"]
fruits = ["Apple", "Papaya", "Banana", "Mango"]
prices = [3, 1, 2, 4]

df = pd.DataFrame({"Date": dates, "Fruit": fruits, "Price": prices})

df["Profit"] = 5
print(df)

出力:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       5
1  April-11  Papaya      1       5
2  April-12  Banana      2       5
3  April-13   Mango      4       5

pandas.DataFrame.insert() は Pandas DataFrame に新しい列を追加する

pandas.DataFrame.insert() を使用すると、DataFrame に列を挿入できます指定された場所。

構文:

DataFrame.insert(loc, column, value, allow_duplicates=False)

デフォルトの値 value で、場所 loccolumn という名前の新しい列を作成します。allow_duplicates=False は、dataFrame に column という名前の列が 1つだけ存在することを確認します。

import pandas as pd

dates = ["April-10", "April-11", "April-12", "April-13"]
fruits = ["Apple", "Papaya", "Banana", "Mango"]
prices = [3, 1, 2, 4]

df = pd.DataFrame({"Date": dates, "Fruit": fruits, "Price": prices})

df.insert(2, "profit", 4, allow_duplicates=False)
print(df)

出力:

       Date   Fruit  profit  Price
0  April-10   Apple       4      3
1  April-11  Papaya       4      1
2  April-12  Banana       4      2
3  April-13   Mango       4      4

ここでは、profit という名前の列がデフォルト値 4 でインデックス 2 に挿入されます。