この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プログラミングの学習コンテンツにご期待ください。