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 に挿入されます。