HOWTO · Pandas

空の列を Pandas DataFrame に追加する

このチュートリアルでは、代入演算子を使用したり、assign()、insert()、reindex()、apply()メソッドを使用したりするなど、さまざまなアプローチを使用して Pandas DataFrame に 1つまたは複数の列を追加する方法について説明します。

Pandas には、DataFrame(テーブル)に 1つまたは複数の空の列を追加する機能もあります。Pandas DataFrame に空の列を簡単に追加するために利用できるさまざまな方法があります。

このチュートリアルでは、Pandas の DataFrame に 1つまたは複数の空のカラムを追加する方法を、割り当て演算子や、assign()insert()reindex()apply() などのメソッドを使用した様々なアプローチで紹介します。また、各アプローチの動作を簡単に説明するために、各メソッドの実装を示します。

代入演算子を使用して、Pandas DataFrame に空の列を追加する

代入演算子または空の文字列を使用して、Pandas の DataFrame に空の列を追加できます。そして、このアプローチを使用して、null または NaN 値が DataFrame の任意の列に割り当てられます。

次の例では、DataFrame を作成し、assignment 演算子を使用して、Pandas DataFrame のように、新しく追加された 2つの列に空の文字列と NaN の値を割り当てました。これらの列は、AddressDesignation です。NumPy ライブラリを使用して、NaN 値を DataFrame 列にインポートします。

代入演算子または空の文字列を使用して、Pandas の DataFrame に空の列を追加する方法を見てみましょう。

サンプルコード:

import pandas as pd
import numpy as np

company_data = {
    "Employee Name": ["Samreena", "Mirha", "Asif", "Raees"],
    "Employee ID": [101, 102, 103, 104],
}
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)

# Add empty column using Assignment operator
dataframe["Blank_Column"] = " "
dataframe["Address"] = np.nan
dataframe["Designation"] = None
print("------------ After Adding Empty Columns ---------------\n", dataframe)

出力:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Designation  Address
0      Samreena          101                  NaN
1         Mirha          102                  NaN
2          Asif          103                  NaN
3         Raees          104                  NaN

DataFrame.assign() メソッドを使用して、Pandas DataFrame に空の列を追加する

DataFrame.assign() メソッドは、DataFrame に 1つまたは複数の列を追加するために使用されます。DataFrameassign() メソッドを適用すると、既存の Pandas DataFrame に新しい空の列を追加した後、新しい DataFrame が返されます。

サンプルコード:

import pandas as pd
import numpy as np

company_data = {
    "Employee Name": ["Samreena", "Mirha", "Asif", "Raees"],
    "Employee ID": [101, 102, 103, 104],
}
dataframe1 = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe1)

# Add empty column into the DataFrame using assign() method
dataframe2 = dataframe1.assign(Designation=" ", Empty_column=np.nan, Address=None)
print("------------ After Adding Empty Columns ---------------\n", dataframe2)

出力:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Designation  Empty_column Address
0      Samreena          101                       NaN    None
1         Mirha          102                       NaN    None
2          Asif          103                       NaN    None
3         Raees          104                       NaN    None

DataFrame.reindex() メソッドを使用して、Pandas DataFrame に空の列を追加する

DataFrame.reindex() メソッドは、Pandas DataFrame の空の列に NaN 値を割り当てました。この reindex() メソッドは、既存の列と新しく追加された列のリストを取得します。この方法を使用すると、任意のインデックス位置の空の列を DataFrame に追加できます。

次の例では、Employee NameEmployee ID の 2 列の名前を持つ新しい DataFrame を作成しました。その後、dataframe.reindex() メソッドを使用して、NaN 値が割り当てられた列リストに AddressDesignation の 2つの新しい列を追加しました。

サンプルコード:

import pandas as pd
import numpy as np

company_data = {
    "Employee Name": ["Samreena", "Mirha", "Asif", "Raees"],
    "Employee ID": [101, 102, 103, 104],
}
dataframe1 = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe1)

# Pandas Add empty columns to the DataFrame using reindex() method
dataframe2 = dataframe1.reindex(
    columns=dataframe1.columns.tolist() + ["Designation", "Address"]
)
print("------------ After Adding Empty Columns ---------------\n", dataframe2)

出力:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID  Designation  Address
0      Samreena          101          NaN      NaN
1         Mirha          102          NaN      NaN
2          Asif          103          NaN      NaN
3         Raees          104          NaN      NaN

DataFrame.insert() メソッドを使用して、Pandas DataFrame に空の列を追加する

DataFrame.insert() メソッドは、Pandas の DataFrame の任意のインデックス位置(開始、中間、終了、または指定された場所)に空の列を挿入します。

サンプルコード:

import pandas as pd
import numpy as np

company_data = {
    "Employee Name": ["Samreena", "Mirha", "Asif", "Raees"],
    "Employee ID": [101, 102, 103, 104],
}
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)

# Pandas Add empty columns to the DataFrame using insert() method
dataframe.insert(1, "Designation", "")
print("------------ After Adding Empty Columns ---------------\n", dataframe)

出力:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name Designation  Employee ID
0      Samreena                      101
1         Mirha                      102
2          Asif                      103
3         Raees                      104

DataFrame.apply() メソッドを使用して、Pandas DataFrame に空の列を追加する

DataFrame.apply() メソッドLambda 関数を使用して、Pandas の DataFrame に空の列を追加することもできます。DataFrame.apply() メソッドを使用して Pandas の DataFrame に空の列を追加するには、次の例を参照してください。

サンプルコード:

import pandas as pd
import numpy as np

company_data = {
    "Employee Name": ["Samreena", "Mirha", "Asif", "Raees"],
    "Employee ID": [101, 102, 103, 104],
}
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)
# Pandas Add empty columns to the DataFrame using apply() method
dataframe["Empty_column"] = dataframe.apply(lambda _: " ", axis=1)
print("------------ After Adding Empty Columns ---------------\n", dataframe)

出力:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Empty_column
0      Samreena          101             
1         Mirha          102             
2          Asif          103             
3         Raees          104    

まとめ

このチュートリアルでは、assign()insert()apply()reindex() などのさまざまなメソッドを導入して、Pandas の DataFrame に 1つまたは複数の空の列を追加しました。また、代入演算子を使用して DataFrame に空の列を追加する方法も示しました。