Pandasのdataframeのdropメソッドを使って複数カラムを削除する方法8つ

スポンサーリンク

このPythonチュートリアルでは、pandas DataFrameの複数のカラムをドロップするためのさまざまなメソッドを探ります。

それでは、始めましょう。


スポンサーリンク

データフレームの複数のカラムをドロップするメソッド

始める前に、サンプルのデータフレームが必要です。

以下に、このチュートリアルで使用するデータフレームの短いコードスニペットを示します。

このコードをコピーペーストして、このチュートリアルに沿って進んでください。

# Import pandas Python module
import pandas as pd
 
# Create a pandas DataFrame object
df = pd.DataFrame({'Dept': ['ECE', 'ICE', 'IT', 'CSE', 'CHE', 'EE', 'TE', 'ME', 'CSE', 'IPE', 'ECE'],
                    'GPA': [8.15, 9.03, 7.85, 8.55, 9.45, 7.45, 8.85, 9.35, 6.53,8.85, 7.83],
                    'Name': ['Mohan', 'Gautam', 'Tanya', 'Rashmi', 'Kirti', 'Ravi', 'Sanjay', 'Naveen', 'Gaurav', 'Ram', 'Tom'],
                    'RegNo': [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121]})
 
# Print the created sample pandas DataFrame
print('Sample pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Sample pandas DataFrame:
 
   Dept   GPA    Name  RegNo
0   ECE  8.15   Mohan    111
1   ICE  9.03  Gautam    112
2    IT  7.85   Tanya    113
3   CSE  8.55  Rashmi    114
4   CHE  9.45   Kirti    115
5    EE  7.45    Ravi    116
6    TE  8.85  Sanjay    117
7    ME  9.35  Naveen    118
8   CSE  6.53  Gaurav    119
9   IPE  8.85     Ram    120
10  ECE  7.83     Tom    121

方法1:delキーワードを使用する

# Drop 'GPA' column using del keyword
del df['GPA']
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Modified pandas DataFrame:
 
   Dept    Name  RegNo
0   ECE   Mohan    111
1   ICE  Gautam    112
2    IT   Tanya    113
3   CSE  Rashmi    114
4   CHE   Kirti    115
5    EE    Ravi    116
6    TE  Sanjay    117
7    ME  Naveen    118
8   CSE  Gaurav    119
9   IPE     Ram    120
10  ECE     Tom    121

方法2:DataFrame.pop()関数を使用する

# Drop 'RegNo' column using DataFrame.pop() function
df.pop('RegNo')
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Modified pandas DataFrame:
 
   Dept   GPA    Name
0   ECE  8.15   Mohan
1   ICE  9.03  Gautam
2    IT  7.85   Tanya
3   CSE  8.55  Rashmi
4   CHE  9.45   Kirti
5    EE  7.45    Ravi
6    TE  8.85  Sanjay
7    ME  9.35  Naveen
8   CSE  6.53  Gaurav
9   IPE  8.85     Ram
10  ECE  7.83     Tom

方法3:DataFrame.drop()関数でcolumnsパラメータを指定する

# Drop 'GPA' and 'Name' column using DataFrame.drop() function with columns parameter
df.drop(columns=['GPA','Name'], inplace=True)
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は、以下の通りです。

Modified pandas DataFrame:
 
   Dept  RegNo
0   ECE    111
1   ICE    112
2    IT    113
3   CSE    114
4   CHE    115
5    EE    116
6    TE    117
7    ME    118
8   CSE    119
9   IPE    120
10  ECE    121

方法4:DataFrame.drop()関数を軸パラメータで使用する

# Drop 'Dept' and 'GPA' columns using DataFrame.drop() function with axis parameter
df.drop(['Dept','GPA'], axis=1, inplace=True)
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Modified pandas DataFrame:
 
      Name  RegNo
0    Mohan    111
1   Gautam    112
2    Tanya    113
3   Rashmi    114
4    Kirti    115
5     Ravi    116
6   Sanjay    117
7   Naveen    118
8   Gaurav    119
9      Ram    120
10     Tom    121

方法5:DataFrame.drop()関数とDataFrame.iloc[]を使用します。

# Drop 'Name' and 'GPA' column using DataFrame.drop() function and DataFrame.iloc[]
df.drop(df.iloc[:,1:3], axis=1, inplace=True)
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Modified pandas DataFrame:
 
   Dept  RegNo
0   ECE    111
1   ICE    112
2    IT    113
3   CSE    114
4   CHE    115
5    EE    116
6    TE    117
7    ME    118
8   CSE    119
9   IPE    120
10  ECE    121

方法6:DataFrame.drop()関数とDataFrame.columns[]を使用します。

# Drop 'Name' and 'Dept' columns using DataFrame.drop() function and DataFrame.columns[]
df.drop(df.columns[[0,2]], axis=1, inplace=True)
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df)

結果は以下の通りです。

Modified pandas DataFrame:
 
     GPA  RegNo
0   8.15    111
1   9.03    112
2   7.85    113
3   8.55    114
4   9.45    115
5   7.45    116
6   8.85    117
7   9.35    118
8   6.53    119
9   8.85    120
10  7.83    121

方法7:必要な列だけを選択する

# Drop 'RegNo' and 'Dept' columns by selecting only the required columns
df2 = df[['Name','GPA']]
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df2)

結果は以下の通りです。

Modified pandas DataFrame:
 
      Name   GPA
0    Mohan  8.15
1   Gautam  9.03
2    Tanya  7.85
3   Rashmi  8.55
4    Kirti  9.45
5     Ravi  7.45
6   Sanjay  8.85
7   Naveen  9.35
8   Gaurav  6.53
9      Ram  8.85
10     Tom  7.83

方法8:DataFrame.dropna()関数を使用する

まず始めに、NaN値を持つpandas DataFrameを作成します。

以下は、そのためのコードスニペットです。

# Import pandas Python module
import pandas as pd
# Import NumPy module
import numpy as np
 
# Create a pandas DataFrame object with NaN values
df = pd.DataFrame({'Dept': ['ECE', 'ICE', 'IT', 'CSE', 'CHE', 'EE', 'TE', 'ME', 'CSE', 'IPE', 'ECE'],
                    'GPA': [8.15, 9.03, 7.85, np.nan, 9.45, 7.45, np.nan, 9.35, 6.53,8.85, 7.83],
                    'Name': ['Mohan', 'Gautam', 'Tanya', 'Rashmi', 'Kirti', 'Ravi', 'Sanjay', 'Naveen', 'Gaurav', 'Ram', 'Tom'],
                    'RegNo': [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121],
                    'City': ['Biharsharif','Ranchi',np.nan,'Patiala', 'Rajgir', 'Patna', np.nan,'Mysore',np.nan,'Mumbai',np.nan]})
 
# Print the created pandas DataFrame
print('Sample pandas DataFrame with NaN values:
'
)
print(df)

結果は以下の通りです。

Sample pandas DataFrame with NaN values:
 
   Dept   GPA    Name  RegNo         City
0   ECE  8.15   Mohan    111  Biharsharif
1   ICE  9.03  Gautam    112       Ranchi
2    IT  7.85   Tanya    113          NaN
3   CSE   NaN  Rashmi    114      Patiala
4   CHE  9.45   Kirti    115       Rajgir
5    EE  7.45    Ravi    116        Patna
6    TE   NaN  Sanjay    117          NaN
7    ME  9.35  Naveen    118       Mysore
8   CSE  6.53  Gaurav    119          NaN
9   IPE  8.85     Ram    120       Mumbai
10  ECE  7.83     Tom    121          NaN

では、NaN値を持つカラムを削除します。

# Drop columns with NaN values using the DataFrame.dropna() function
df2 = df.dropna(axis='columns')
 
# Print the modified pandas DataFrame
print('Modified pandas DataFrame:
'
)
print(df2)

結果を出力すると、以下の様になります。

Modified pandas DataFrame:
 
   Dept    Name  RegNo
0   ECE   Mohan    111
1   ICE  Gautam    112
2    IT   Tanya    113
3   CSE  Rashmi    114
4   CHE   Kirti    115
5    EE    Ravi    116
6    TE  Sanjay    117
7    ME  Naveen    118
8   CSE  Gaurav    119
9   IPE     Ram    120
10  ECE     Tom    121

まとめ

この記事では、pandasのDataFrameの複数のカラムをドロップするためのさまざまな方法を学びました。

上記のメソッドを理解し、あなたのデータ分析プロジェクトで使用することに興奮していることを願っています。

お読みいただきありがとうございました。

今後もPythonプログラミングの学習コンテンツにご期待ください。

タイトルとURLをコピーしました