Python pandas の既存の DataFrame に新しい列を追加する
Ahmed Waheed
2023年1月30日
-
Pandas に新しい列を追加するための
[]
演算子メソッド -
Pandas に新しい列を追加する
df.insert()
メソッド -
Pandas に新しい列を追加するための
df.assign()
メソッド -
Pandas に新しい列を追加するための
df.loc()
メソッド
大きなデータセットを扱う場合、既存の DataFrame に新しい列を追加することは非常に頻繁に使用されます。たとえば、既存の DataFrame
には First
、Last
、Age
列があり、それに新しい列 city
を追加する必要があります。このタスクを達成するためのさまざまな方法を以下に示します。
[]
演算子メソッドdf.insert()
メソッドdf.assign()
メソッドdf.loc()
メソッド
次のセクションでは、次のように同じ DataFrame
を使用します。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
print(df)
出力:
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
Pandas に新しい列を追加するための []
演算子メソッド
[]
演算子を使用して、既存の DataFrame に新しい列を追加できます。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
city = ["Lahore", "Dehli", "New York"]
df["city"] = city
print(df)
出力:
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
Pandas に新しい列を追加する df.insert()
メソッド
特定のインデックスに新しい列を追加したい場合は、df.insert()
関数を使用できます。df.insert()
関数の最初のパラメーターは、ゼロから始まる挿入インデックスです。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df.insert(3, "city", ["Lahore", "Dehli", "New York"], True)
print(df)
出力:
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
Pandas に新しい列を追加するための df.assign()
メソッド
df.assign()
は、既存の DataFrame に新しい列を追加するためにも使用できます。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df = df.assign(city=["Lahore", "Dehli", "New York"])
print(df)
出力:
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York
df.assign()
を使用して複数の列を追加する方法を見てみましょう。以下の例では、city
列と score
列を追加します。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df = df.assign(city=["Lahore", "Dehli", "New York"], score=[20, 30, 40])
print(df)
出力:
First Last Age city score
0 Ali Azmat 30 Lahore 20
1 Sharukh Khan 40 Dehli 30
2 Linus Torvalds 70 New York 40
Pandas に新しい列を追加するための df.loc()
メソッド
df.loc()
メソッドは、既存の DataFrame に新しい列を追加することもできます。
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df.loc[:, "city"] = ["Lahore", "Dehli", "New York"]
print(df)
出力:
First Last Age city
0 Ali Azmat 30 Lahore
1 Sharukh Khan 40 Dehli
2 Linus Torvalds 70 New York