logo

Pandas Dataframe で 1 つまたは複数の列を削除する方法

Pandas Dataframe で 1 つまたは複数の列を削除する方法について説明します。から列を削除するには パンダのデータフレーム または Pandas データフレームに 1 つまたは複数の列をドロップすることは、複数の方法で実現できます。

Pandas データフレームで 1 つまたは複数の列を削除する

Pandas Dataframe で 1 つまたは複数の列を削除するにはさまざまな方法があります。ここでは、Pandas Dataframe で 1 つまたは複数の列を削除するために一般的に使用されるいくつかの方法について説明します。



  • df.drop() メソッドの使用
  • 使用する iloc[] 方法
  • 使用する df.ix() 方法
  • 使用する df.loc[] 方法
  • 反復法の使用
  • 使用する データフレーム.ポップ() 方法

データフレームを作成する

まず、リストの辞書を含む単純なデータフレームを作成します。たとえば、列名は次のとおりです。 A、B、C、D、E 。この記事では、Pandas DataFrame から一部の列を削除する 6 つの異なる方法について説明します。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df>

出力:

 A B C D E   0   A1 B1 C1 D1 E1   1   A2 B2 C2 D2 E2   2   A3 B3 C3 D3 E3   3   A4 B4 C4 D4 E4   4   A5 B5 C5 D5 E5>



df.drop() メソッドを使用した Pandas のデータフレームの列のドロップ

例 1: この例では、以下のコードで使用されているように、特定の単一列を削除します。 パンダ 辞書から DataFrame を作成し、次のコマンドを使用して列「A」を削除します。drop>を使用したメソッドaxis=1>。ただし、元のデータフレーム (「df」) は変更されない限り変更されないことに注意することが重要です。inplace=True>パラメータが使用されるか、結果が「df」に割り当てられます。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove column name 'A' df.drop(['A'], axis=1)>

出力:

文字列置換すべてのJava
 B C D E 0 B1 C1 D1 E1 1 B2 C2 D2 E2 2 B3 C3 D3 E3 3 B4 C4 D4 E4 4 B5 C5 D5 E5>

例 2: この例では、以下のコードが Pandas を使用して辞書から DataFrame を作成し、次に、drop>を使用したメソッドaxis=1>。ただし、結果が再度割り当てられない限り、元のデータフレーム (「df」) は変更されないことに注意してください。inplace=True>使用されている。または、次のコマンドを使用して同じ操作を実行できます。df.drop(columns=['C', 'D'])>



Pythonのeol
パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove two columns name is 'C' and 'D' df.drop(['C', 'D'], axis=1) # df.drop(columns =['C', 'D'])>

出力:

   A B E  0 A1 B1 E1 1 A2 B2 E2 2 A3 B3 E3 3 A4 B4 E4 4 A5 B5 E5>

例 3: この例では、列インデックスに基づいて列を削除します。以下のコードは辞書から Pandas DataFrame を作成し、 ` を指定した `drop` メソッドを使用してインデックス位置に基づいて 3 つの列 ('A'、'E'、'C') を削除します。軸=1`。変更された DataFrame が表示され、変更がその場で行われます (「inplace=True」)。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove three columns as index base df.drop(df.columns[[0, 4, 2]], axis=1, inplace=True) df>

出力:

   B D  0 B1 D1 1 B2 D2 2 B3 D3 3 B4 D4 4 B5 D5>

df.iloc[] メソッドを使用して Pandas でデータフレームの列を削除する

この例では 以下のコードは Pandas を利用してディクショナリから DataFrame を作成し、列インデックス 1 ~ 3 の間のすべての列を削除します。drop>を使用したメソッドaxis=1>。変更はその場で行われます (inplace=True>)、変更されたデータフレームが表示されます。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column index 1 to 3 df.drop(df.iloc[:, 1:3], inplace=True, axis=1) df>

出力:

 A D E 0 A1 D1 E1 1 A2 D2 E2 2 A3 D3 E3 3 A4 D4 E4 4 A5 D5 E5>

パンダは df.ix() メソッドを使用してデータフレームから列を削除します

この例では 以下のコードのように特定の列名の間の列を削除します。Pandas を使用して辞書から DataFrame を作成し、列名「B」から「D」の間のすべての列を削除します。drop>を使用したメソッドaxis=1>。ただし、元のデータフレーム (「df」) は、結果が割り当て戻されるか、または返されない限り、変更されません。inplace=True>使用されている。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.ix[:, 'B':'D'].columns, axis=1)>

出力:

 A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>

パンダは df.loc[] メソッドを使用してデータフレームから列を削除します

この例では、特定の列名の間の列を次のように削除します。 以下のコードは使用します パンダ ディクショナリから DataFrame を作成し、列名「B」と「D」の間にあるすべての列を削除します。drop>を使用したメソッドaxis=1>。変更された DataFrame はどの変数にも戻されず、元の DataFrame は変更されません。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.loc[:, 'B':'D'].columns, axis=1)>

出力:

 A E 0 A1 E1 1 A2 E2 2 A3 E3 3 A4 E4 4 A5 E5>

注記: loc() と iloc() の違いは、iloc() が最後の列範囲要素を除外することです。

Javaの配列のlen

パンダは反復法を使用してデータフレームから列を削除します

この例では、以下のコードがデータから Pandas DataFrame を作成するため、特定の列名の間の列を削除します。 辞書 そしてその列を反復処理します。各列の列名に文字「A」が含まれている場合、その列はデータフレームから削除されます。結果として変更された DataFrame が表示されます。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) for col in df.columns: if 'A' in col: del df[col] df>

出力:

 B C D E 0 B1 C1 D1 E1 1 B2 C2 D2 E2 2 B3 C3 D3 E3 3 B4 C4 D4 E4 4 B5 C5 D5 E5>

Dataframe.pop() メソッドを使用した Pandas のデータフレーム ドロップ列

この例では、コードとしての DataFrame からの特定の列の削除は、辞書から作成された Pandas DataFrame から特定の列 (「B」) を削除する方法を示しています。それは、 pop> メソッドを実行すると、結果として変更された DataFrame が表示されます。

パイソン
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df.pop('B') df>

出力:

A C D E 0 A1 C1 D1 E1 1 A2 C2 D2 E2 2 A3 C3 D3 E3 3 A4 C4 D4 E4 4 A5 C5 D5 E5>