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 で、場所 loc に column という名前の新しい列を作成します。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 に挿入されます。