このPythonチュートリアルでは、pandas DataFrameの複数のカラムをドロップするためのさまざまなメソッドを探ります。
それでは、始めましょう。
データフレームの複数のカラムをドロップするメソッド
始める前に、サンプルのデータフレームが必要です。
以下に、このチュートリアルで使用するデータフレームの短いコードスニペットを示します。
このコードをコピーペーストして、このチュートリアルに沿って進んでください。
# Import pandas Python moduleimport pandas as pd
# Create a pandas DataFrame objectdf = 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 DataFrameprint('Sample pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Sample pandas DataFrame:   Dept   GPA    Name  RegNo
0   ECE  8.15   Mohan    1111   ICE  9.03  Gautam    1122    IT  7.85   Tanya    1133   CSE  8.55  Rashmi    1144   CHE  9.45   Kirti    1155    EE  7.45    Ravi    1166    TE  8.85  Sanjay    1177    ME  9.35  Naveen    1188   CSE  6.53  Gaurav    1199   IPE  8.85     Ram    12010  ECE  7.83     Tom    121 | 
方法1:delキーワードを使用する
# Drop 'GPA' column using del keyworddel df['GPA']
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Modified pandas DataFrame:   Dept    Name  RegNo
0   ECE   Mohan    1111   ICE  Gautam    1122    IT   Tanya    1133   CSE  Rashmi    1144   CHE   Kirti    1155    EE    Ravi    1166    TE  Sanjay    1177    ME  Naveen    1188   CSE  Gaurav    1199   IPE     Ram    12010  ECE     Tom    121 | 
方法2:DataFrame.pop()関数を使用する
# Drop 'RegNo' column using DataFrame.pop() functiondf.pop('RegNo')
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Modified pandas DataFrame:   Dept   GPA    Name
0   ECE  8.15   Mohan1   ICE  9.03  Gautam2    IT  7.85   Tanya3   CSE  8.55  Rashmi4   CHE  9.45   Kirti5    EE  7.45    Ravi6    TE  8.85  Sanjay7    ME  9.35  Naveen8   CSE  6.53  Gaurav9   IPE  8.85     Ram10  ECE  7.83     Tom | 
方法3:DataFrame.drop()関数でcolumnsパラメータを指定する
# Drop 'GPA' and 'Name' column using DataFrame.drop() function with columns parameterdf.drop(columns=['GPA','Name'], inplace=True)
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は、以下の通りです。
Modified pandas DataFrame:   Dept  RegNo
0   ECE    1111   ICE    1122    IT    1133   CSE    1144   CHE    1155    EE    1166    TE    1177    ME    1188   CSE    1199   IPE    12010  ECE    121 | 
方法4:DataFrame.drop()関数を軸パラメータで使用する
# Drop 'Dept' and 'GPA' columns using DataFrame.drop() function with axis parameterdf.drop(['Dept','GPA'], axis=1, inplace=True)
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Modified pandas DataFrame:      Name  RegNo
0    Mohan    1111   Gautam    1122    Tanya    1133   Rashmi    1144    Kirti    1155     Ravi    1166   Sanjay    1177   Naveen    1188   Gaurav    1199      Ram    12010     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 DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Modified pandas DataFrame:   Dept  RegNo
0   ECE    1111   ICE    1122    IT    1133   CSE    1144   CHE    1155    EE    1166    TE    1177    ME    1188   CSE    1199   IPE    12010  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 DataFrameprint('Modified pandas DataFrame:)
print(df)
 | 
結果は以下の通りです。
Modified pandas DataFrame:     GPA  RegNo
0   8.15    1111   9.03    1122   7.85    1133   8.55    1144   9.45    1155   7.45    1166   8.85    1177   9.35    1188   6.53    1199   8.85    12010  7.83    121 | 
方法7:必要な列だけを選択する
# Drop 'RegNo' and 'Dept' columns by selecting only the required columnsdf2 = df[['Name','GPA']]
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df2)
 | 
結果は以下の通りです。
Modified pandas DataFrame:      Name   GPA
0    Mohan  8.151   Gautam  9.032    Tanya  7.853   Rashmi  8.554    Kirti  9.455     Ravi  7.456   Sanjay  8.857   Naveen  9.358   Gaurav  6.539      Ram  8.8510     Tom  7.83 | 
方法8:DataFrame.dropna()関数を使用する
まず始めに、NaN値を持つpandas DataFrameを作成します。
以下は、そのためのコードスニペットです。
# Import pandas Python moduleimport pandas as pd
# Import NumPy moduleimport numpy as np
# Create a pandas DataFrame object with NaN valuesdf = 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 DataFrameprint('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  Biharsharif1   ICE  9.03  Gautam    112       Ranchi2    IT  7.85   Tanya    113          NaN3   CSE   NaN  Rashmi    114      Patiala4   CHE  9.45   Kirti    115       Rajgir5    EE  7.45    Ravi    116        Patna6    TE   NaN  Sanjay    117          NaN7    ME  9.35  Naveen    118       Mysore8   CSE  6.53  Gaurav    119          NaN9   IPE  8.85     Ram    120       Mumbai10  ECE  7.83     Tom    121          NaN | 
では、NaN値を持つカラムを削除します。
# Drop columns with NaN values using the DataFrame.dropna() functiondf2 = df.dropna(axis='columns')
# Print the modified pandas DataFrameprint('Modified pandas DataFrame:)
print(df2)
 | 
結果を出力すると、以下の様になります。
Modified pandas DataFrame:   Dept    Name  RegNo
0   ECE   Mohan    1111   ICE  Gautam    1122    IT   Tanya    1133   CSE  Rashmi    1144   CHE   Kirti    1155    EE    Ravi    1166    TE  Sanjay    1177    ME  Naveen    1188   CSE  Gaurav    1199   IPE     Ram    12010  ECE     Tom    121 | 
まとめ
この記事では、pandasのDataFrameの複数のカラムをドロップするためのさまざまな方法を学びました。
上記のメソッドを理解し、あなたのデータ分析プロジェクトで使用することに興奮していることを願っています。
お読みいただきありがとうございました。
今後もPythonプログラミングの学習コンテンツにご期待ください。