Pandas データフレームのインデックスをリセット

Pandas DataFrame でインデックスをリセットする方法について説明します。多くの場合、私たちは巨大なデータ フレームから始めます。 パンダ データ フレームを操作/フィルタリングすると、最終的にははるかに小さなデータ フレームが得られます。小さいデータ フレームを見ると、元のデータ フレームの行インデックスがまだ保持されている可能性があります。元のインデックスが 数字 、今度は連続ではないインデックスができました。

インデックスのリセット構文

構文:

DataFrame.reset_index(level=None、drop=False、inplace=False、col_level=0、col_fill=)

  • パラメーター:
    • level> : リセットするマルチレベルインデックスレベルを指定します。
    • drop> : True の場合、現在のインデックスを破棄します。 False の場合、新しい列として追加されます。
    • inplace> : True の場合、その場で DataFrame を変更します。 False の場合、新しい DataFrame を返します。
    • col_level> : マルチレベル列のどのレベルをリセットするかを指定します。
    • col_fill> : 列のレベルで欠落している値を埋めます。
  • 戻り値の型: 次の場合に新しい DataFrame を返します。 inplace> は偽です。なしの場合 inplace> 本当です

さて、パンダには reset_index()> 関数。したがって、インデックスを 0 から始まるデフォルトの整数インデックスにリセットするには、単純に reset_index()> 関数。それでは、DataFrame のインデックスをリセットするさまざまな方法を見てみましょう。

リセットインデックスとは何ですか?

パイソン プログラミング言語とパンダライブラリ、 reset_index> メソッドは、データ フレームのインデックスをリセットするために使用されます。 pandas で DataFrame に対して操作を実行すると、DataFrame のインデックスが変更されたり、順序付けされなくなる場合があります。の reset_index> このメソッドを使用すると、インデックスをデフォルトの整数ベースのインデックスにリセットし、次のインデックスをリセットできます。 パンダのデータフレーム オプションで現在のインデックスを削除します。

Pandas データフレームのインデックスをリセット

Pandas Dataframe でインデックスをリセットするにはさまざまな方法があります。一般的に使用されるいくつかの方法を例を挙げて説明します。

  • デフォルトのインデックスを削除せずに独自のインデックスを作成する
  • 独自のインデックスを作成し、デフォルトのインデックスを削除する
  • 独自のインデックスをリセットし、デフォルトのインデックスをインデックスとして作成する
  • データフレームの列をインデックスとして作成し、デフォルトのインデックスを削除する
  • インデックスを削除せずにデータフレームの列をインデックスとして作成する

パンダデータフレームの作成

ここではサンプルの Pandas データフレームを作成しています。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data)> print> (df)>

出力:

   Name Age Address Qualification   0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th 

作成する デフォルトのインデックスを削除しない独自のインデックス

この例では、以下のコードで pandas ライブラリを使用して従業員データから DataFrame を作成します。それは、 辞書、 カスタム インデックスを設定し、それを DataFrame に変換し、インデックスをリセットして、結果を出力します。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # Make Own Index as index> # In this case default index is exist> df.reset_index(inplace> => True> )> print> (df)>

出力:

   index Name Age Address Qualification   0 a Jai 27 Delhi Msc 1 b Princi 24 Kanpur MA 2 c Gaurav 22 Allahabad MCA 3 d Anuj 32 Kannauj Phd 4 e Geeku 15 Noida 10th 

独自のインデックスの作成とデフォルトのインデックスの削除

この例では、以下のコードが pandas ライブラリを使用して、辞書に保存されている従業員データから DataFrame を作成します。カスタム インデックス (「a」から「e」) を設定し、結果のデータフレームを出力します。カスタム インデックスはデフォルトの数値インデックスを置き換えます。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> # Make Own Index and Removing Default index> df> => pd.DataFrame(data, index)> print> (df)>

出力:

   Name Age Address Qualification   a Jai 27 Delhi Msc b Princi 24 Kanpur MA c Gaurav 22 Allahabad MCA d Anuj 32 Kannauj Phd e Geeku 15 Noida 10th 

独自のインデックスをリセットし、デフォルトのインデックスをインデックスとして作成する

以下の例では、カスタム インデックス (「a」から「e」) を持つ従業員データの辞書から Pandas DataFrame を作成するコードが作成されます。その後、インデックスをリセットし、カスタム インデックスをデフォルトの数値インデックスに置き換えて、結果のフレームを出力します。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # remove own index with default index> df.reset_index(inplace> => True> , drop> => True> )> print> (df)>

出力:

   Name Age Address Qualification   0 Jai 27 Delhi Msc 1 Princi 24 Kanpur MA 2 Gaurav 22 Allahabad MCA 3 Anuj 32 Kannauj Phd 4 Geeku 15 Noida 10th 

列をインデックスとして作成し、デフォルトのインデックスを削除する

以下の例では、従業員データから Pandas DataFrame を作成し、カスタム インデックスを設定して、デフォルトの数値インデックスを削除しながらインデックスを「Age」列に変更します。最後のデータ フレームは 2 回印刷されます。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # set index any column of our DF and> # remove default index> df.set_index([> 'Age'> ], inplace> => True> )> print> (df)>

出力:

   Name Address Qualification   Age 27 Jai Delhi Msc 24 Princi Kanpur MA 22 Gaurav Allahabad MCA 32 Anuj Kannauj Phd 15 Geeku Noida 10th 

インデックスを削除せずにデータフレームの列をインデックスとして作成する

以下の例では、最初にカスタム インデックスを使用して、従業員データから DataFrame を作成するコードが作成されます。次に、「Age」列をインデックスとして設定し、デフォルトの数値インデックスを削除せずにインデックスをリセットし、最後に結果のデータフレームを出力します。

Python3




# Import pandas package> import> pandas as pd> > # Define a dictionary containing employee data> data> => {> 'Name'> :[> 'Jai'> ,> 'Princi'> ,> 'Gaurav'> ,> 'Anuj'> ,> 'Geeku'> ],> > 'Age'> :[> 27> ,> 24> ,> 22> ,> 32> ,> 15> ],> > 'Address'> :[> 'Delhi'> ,> 'Kanpur'> ,> 'Allahabad'> ,> 'Kannauj'> ,> 'Noida'> ],> > 'Qualification'> :[> 'Msc'> ,> 'MA'> ,> 'MCA'> ,> 'Phd'> ,> '10th'> ] }> # Create own index> index> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> # Convert the dictionary into DataFrame> df> => pd.DataFrame(data, index)> # set any column as index> # Here we set age column as index> df.set_index([> 'Age'> ], inplace> => True> )> # reset index without removing default index> df.reset_index(level> => [> 'Age'> ], inplace> => True> )> print> (df)>

出力:

    Age Name Address Qualification   0 27 Jai Delhi Msc 1 24 Princi Kanpur MA 2 22 Gaurav Allahabad MCA 3 32 Anuj Kannauj Phd 4 15 Geeku Noida 10th