logo

パイソン |パンダ DataFrame.set_index()

この記事では、Python の Pandas DataFrame.set_index() について説明します。 パイソン データ分析に優れた言語として際立っているのは、主にデータ中心のパッケージの優れたエコシステムによるものです。これらのパッケージの中には、 パンダ データのインポートと分析を簡素化する上で重要な役割を果たします。

Pandas DataFrame.set_index() の構文

構文: DataFrame.set_index(keys、drop=True、append=False、inplace=False、verify_integrity=False)

パラメーター:



  • キー: 列名または列名のリスト。
  • 落とす: True の場合、インデックスに使用される列を削除するブール値。
  • 追加: True の場合、指定された列を既存のインデックス列に追加します。
  • 所定の位置に: True の場合、変更は DataFrame 自体で行われます。
  • verify_integrity: True の場合、新しいインデックス列に重複がないかチェックします。

Pandas DataFrame.set_index() とは何ですか?

パンダのデータフレーム。 set_index() メソッドは、リスト、シリーズ、または別のデータ フレームを特定のデータ フレームのインデックスとして割り当てるために使用されます。これは、複数のデータ フレームを結合する場合に特に便利で、インデックスを簡単に変更できます。インデックス列はデータ フレームの作成時に指定できますが、set_index() を使用すると、後でインデックスを変更する柔軟な方法が提供されます。本質的には、リスト、シリーズ、またはデータ フレームをデータ フレームのインデックスとして設定できるようになります。ただし、データ フレームが 2 つ以上のデータ フレームから構成される場合があるため、この方法を使用して後のインデックスを変更することができます。

使用する CSV ファイルをダウンロードするには、 ここ。

Pandas DataFrame.set_index() の例

以下は、Pandas DataFrame.set_index() の例の適切な図です。

  • パンダはインデックスを列に設定します
  • 複数のインデックス列
  • シングルを設定する フロート列 インデックスとして
  • 設定 3つの列 として マルチインデックス
  • パンダは特定の列のインデックスを設定します

パンダはインデックスを列に設定します

この例では、インデックス列を変更し、名列がデータ フレームのインデックス列になりました。

Python3




# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'employees.csv'>)> # setting first name as index column> data.set_index(>'First Name'>, inplace>=> True>)> # display> data.head()>

>

>

出力 : 操作前 –

手術後 –

出力画像に示されているように、以前はインデックス列が一連の数字でしたが、後に名に置き換えられました。

パンダはインデックスを複数のインデックス列に設定します

この例では、インデックス列として 2 つの列が作成されます。 Drop パラメータは列を削除するために使用され、append パラメータは渡された列を既存のインデックス列に追加するために使用されます。

Python3




# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'employees.csv'>)> # setting first name as index column> data.set_index([>'First Name'>,>'Gender'>], inplace>=> True>,> >append>=> True>, drop>=> False>)> # display> data.head()>

>

>

出力:

オフセット高さ

出力イメージに示されているように、データには 3 つのインデックス列があります。

Pandas データフレーム インデックスの単一の設定 フロート列 インデックスとして

この例では、以下のコード スニペットは Pandas ライブラリを使用して、生徒データのネストされたリストから「df」という名前の DataFrame を作成します。 「Agg_Marks」列をインデックスとして設定し、「Name」、「Age」、「City」、および「 Country」列を含む結果のデータフレームを表示します。

Python3




# importing pandas library> import> pandas as pd> # creating and initializing a nested list> students>=> [[>'jack'>,>34>,>'Sydeny'>,>'Australia'>,>85.96>],> >[>'Riti'>,>30>,>'Delhi'>,>'India'>,>95.20>],> >[>'Vansh'>,>31>,>'Delhi'>,>'India'>,>85.25>],> >[>'Nanyu'>,>32>,>'Tokyo'>,>'Japan'>,>74.21>],> >[>'Maychan'>,>16>,>'New York'>,>'US'>,>99.63>],> >[>'Mike'>,>17>,>'las vegas'>,>'US'>,>47.28>]]> # Create a DataFrame object> df>=> pd.DataFrame(students,> >columns>=>[>'Name'>,>'Age'>,>'City'>,>'Country'>,>'Agg_Marks'>],> >index>=>[>'a'>,>'b'>,>'c'>,>'d'>,>'e'>,>'f'>])> # here we set Float column 'Agg_Marks' as index of data frame> # using dataframe.set_index() function> df>=> df.set_index(>'Agg_Marks'>)> # Displaying the Data frame> df>

>

>

出力:

 Name Age City Country Agg_Marks 85.96 jack 34 Sydeny Australia 95.20 Riti 30 Delhi India 85.25 Vansh 31 Delhi India 74.21 Nanyu 32 Tokyo Japan 99.63 Maychan 16 New York US 47.28 Mike 17 las vegas US>

上の例では、列「 Agg_Marks ' データフレームのインデックスとして使用します。

Pandas データフレーム インデックスの設定 3つの列 として マルチインデックス

この例では、以下のコードは Pandas を利用して、学生データから「Name」、「Age」、「City」、「 Country」、「Agg_Marks」、および「ID」列を含むデータフレーム「df」を作成します。 「set_index()」関数を使用して、「名前」、「市区町村」、「ID」を使用してマルチレベルのインデックスを確立し、結果のデータフレームを表示します。

Python3




# importing pandas library> import> pandas as pd> # creating and initializing a nested list> students>=> [[>'jack'>,>34>,>'Sydeny'>,>'Australia'>,>85.96>,>400>],> >[>'Riti'>,>30>,>'Delhi'>,>'India'>,>95.20>,>750>],> >[>'Vansh'>,>31>,>'Delhi'>,>'India'>,>85.25>,>101>],> >[>'Nanyu'>,>32>,>'Tokyo'>,>'Japan'>,>74.21>,>900>],> >[>'Maychan'>,>16>,>'New York'>,>'US'>,>99.63>,>420>],> >[>'Mike'>,>17>,>'las vegas'>,>'US'>,>47.28>,>555>]]> # Create a DataFrame object> df>=> pd.DataFrame(students,> >columns>=>[>'Name'>,>'Age'>,>'City'>,>'Country'>,>'Agg_Marks'>,>'ID'>],> >index>=>[>'a'>,>'b'>,>'c'>,>'d'>,>'e'>,>'f'>])> # Here we pass list of 3 columns i.e 'Name', 'City' and 'ID'> # to dataframe.set_index() function> # to set them as multiIndex of dataframe> df>=> df.set_index([>'Name'>,>'City'>,>'ID'>])> # Displaying the Data frame> df>

>

>

出力:

 Age Country Agg_Marks Name City ID jack Sydeny 400 34 Australia 85.96 Riti Delhi 750 30 India 95.20 Vansh Delhi 101 31 India 85.25 Nanyu Tokyo 900 32 Japan 74.21 Maychan New York 420 16 US 99.63 Mike las vegas 555 17 US 47.28>

上の例では、列「 名前 「、」 '、 そして ' ID ' データフレームの multiIndex として。

パンダは特定の列のインデックスを設定します

この例では、以下のコードは、Pandas を使用して DataFrame を作成し、特定の列 (この場合は「Name」) をインデックスとして設定する方法を示しています。set_index()>メソッドを実行し、元のデータフレームと変更されたデータフレームの両方を表示します。のinplace=True>パラメータを使用すると、再割り当てを必要とせずに、変更が DataFrame に直接適用されます。

Python3




Javaのjvm

import> pandas as pd> # Creating a sample DataFrame> data>=> {>'Name'>: [>'Geek1'>,>'Geek2'>,>'Geek3'>],> >'Age'>: [>25>,>30>,>35>],> >'City'>: [>'New York'>,>'San Francisco'>,>'Los Angeles'>]}> df>=> pd.DataFrame(data)> # Displaying the original DataFrame> print>(>'Original DataFrame:'>)> print>(df)> # Using set_index() to set 'Name' column as the index> df.set_index(>'Name'>, inplace>=>True>)> # Displaying the DataFrame after setting the index> print>(>' DataFrame after set_index:'>)> print>(df)>

>

>

出力:

Original DataFrame: Name Age City 0 Geek1 25 New York 1 Geek2 30 San Francisco 2 Geek3 35 Los Angeles DataFrame after set_index: Age City Name Geek1 25 New York Geek2 30 San Francisco Geek3 35 Los Angeles>