Python PandasでDataframeのIndexを取得する方法

スポンサーリンク

この記事では、pandas DataFrameオブジェクトのインデックスや行を取得するための様々な方法について説明します。

では、さっそく始めましょう。

スポンサーリンク

Pythonでデータフレームのインデックスを取得するメソッド

それでは早速、データフレームのインデックスを取得する手順を説明します。

また、データフレームのインデックスをリセットして、データフレームを追加したり、ソートしたりするたびに、インデックスの数字が揃うようにする方法も確認してください。

方法1:forループを使用する

Pythonでは、forループを使うことで、pandas DataFrameオブジェクトのインデックスや行を簡単に取得することができます

この方法では、Pythonのpandasモジュールの pd.DataFrame() 関数を使用して、Pythonの辞書からpandas DataFrameオブジェクトを作成します。

そして、pandas DataFrameのインデックスオブジェクトに対してforループを実行し、インデックスを表示します。

それでは、Pythonのコードで実装してみましょう。

# Method-1
 
# Import pandas
import pandas as pd
 
# Create a Python dictionary
data = {"Name": ['Sanjay', 'Shreya', 'Raju', 'Gopal', 'Ravi'],
        "Roll": [101, 102, 103, 104, 105]}
 
# Create a DataFrame object from above dictionary
df = pd.DataFrame(data, index = [1, 2, 3, 4, 5])
print("This is DataFrame:
"
)
print(df)
 
# Get the index/rows of the above DataFrame
# Using for loop iteration
print("
This is index of DataFrame:
"
)
for idx in df.index:
    print(idx, end = ' ')

結果は以下の通りです。

This is DataFrame:
 
     Name  Roll
1  Sanjay   101
2  Shreya   102
3    Raju   103
4   Gopal   104
5    Ravi   105
 
This is index of DataFrame:
 
1 2 3 4 5

方法2:インデックス属性の使用

DataFrameオブジェクトのインデックスを取得する方法として、最も広く使われている方法です。

この方法では、通常通り pd.DataFrame() 関数を使用して pandas DataFrame オブジェクトを作成します。

そして、pandas DataFrame クラスの index 属性を使用して、pandas DataFrame オブジェクトのインデックスを取得します。

pandas DataFrameオブジェクトに index 属性を適用すると、DataFrameのインデックスリストを含むタプルが返されます。

では、実際にPythonプログラミングでどのように実装するか見てみましょう。

# Method-2
 
# Import pandas
import pandas as pd
 
# Create a Python dictionary
data = {"Name": ['Sanjay', 'Shreya', 'Raju', 'Gopal', 'Ravi'],
        "Roll": [101, 102, 103, 104, 105],
        "CGPA": [8.15, 8.18, 9.32, 8.85, 7.87]}
 
# Create a DataFrame object from above dictionary
df = pd.DataFrame(data, index = ['s1', 's2', 's3', 's4', 's5'])
print("This is DataFrame:
"
)
print(df)
 
# Get the index/rows of the above DataFrame
# Using index attribute
print("
This is index of DataFrame:
"
)
index_list = df.index
print(index_list)

結果は以下の通りです。

This is DataFrame:
 
      Name  Roll  CGPA
s1  Sanjay   101  8.15
s2  Shreya   102  8.18
s3    Raju   103  9.32
s4   Gopal   104  8.85
s5    Ravi   105  7.87
 
This is index of DataFrame:
 
Index(['s1', 's2', 's3', 's4', 's5'], dtype='object')

方法3:index.valuesプロパティを利用する

まず、pandas Pythonモジュールのpd.DataFrame()関数を用いて、pandas DataFrameオブジェクトを作成します。

そして、pandas DataFrameオブジェクトのindex.valuesプロパティを使用して、そのインデックスリストにアクセスします。

pandas DataFrameオブジェクトにindex.valuesプロパティを適用すると、pandas DataFrameオブジェクトのインデックスリストにあるデータを表す配列が返されます。

このDataFrameのインデックスリストを取得する方法を実装するPythonのコードに入りましょう。

# Method-3
 
# Import pandas
import pandas as pd
 
# Create a Python dictionary
data = {"Name": ['Sanjay', 'Shreya', 'Raju', 'Gopal', 'Ravi'],
        "Roll": [101, 102, 103, 104, 105],
        "Branch": ['ECE', 'CSE', 'EEE', 'ICE', 'IPE'],
        "CGPA": [8.15, 8.18, 9.32, 8.85, 7.87]}
 
# Create a DataFrame object from above dictionary
df = pd.DataFrame(data)
print("This is DataFrame:
"
)
print(df)
 
# Get the index/rows of the above DataFrame
# Using index.values property
print("
This is index of DataFrame:
"
)
index_list = df.index.values
print(index_list)

結果は以下の通りです。

This is DataFrame:
 
     Name  Roll Branch  CGPA
0  Sanjay   101    ECE  8.15
1  Shreya   102    CSE  8.18
2    Raju   103    EEE  9.32
3   Gopal   104    ICE  8.85
4    Ravi   105    IPE  7.87
 
This is index of DataFrame:
 
[0 1 2 3 4]

方法4:tolist()関数の使用

これはpandasモジュールの便利なツールで、pandas DataFrameオブジェクトのインデックスをPythonのリストに変換してくれます。

この方法では、これまでの方法と同様に pd.DataFrame() 関数を使用して pandas DataFrame オブジェクトを作成します。

次に、pandas DataFrameクラスの index 属性を使用して、pandas DataFrameのインデックスオブジェクトにアクセスします。

最後に、Pythonのリストの形でDataFrameのインデックスを実際に返すtolist()関数を適用します。

それでは、pandasのDataFrameのインデックスをPythonのリストで取得する便利なメソッドを実装するPythonプログラムを書いてみましょう。

# Method-4
 
# Import pandas
import pandas as pd
 
# Create a Python dictionary
data = {"Name": ['Sanjay', 'Shreya', 'Raju', 'Gopal', 'Ravi'],
        "Roll": [101, 102, 103, 104, 105],
        "Branch": ['ECE', 'CSE', 'EEE', 'ICE', 'IPE'],
        "CGPA": [8.15, 8.18, 9.32, 8.85, 7.87]}
 
# Create a DataFrame object from above dictionary
df = pd.DataFrame(data, index = ['R1', 'R2', 'R3', 'R4', 'R5'])
print("This is DataFrame:
"
)
print(df)
 
# Get the index/rows of the above DataFrame
# Using tolist() function
print("
This is index of DataFrame:
"
)
index_list = df.index.tolist()
print(index_list)

結果は以下の通りです。

This is DataFrame:
 
      Name  Roll Branch  CGPA
R1  Sanjay   101    ECE  8.15
R2  Shreya   102    CSE  8.18
R3    Raju   103    EEE  9.32
R4   Gopal   104    ICE  8.85
R5    Ravi   105    IPE  7.87
 
This is index of DataFrame:
 
['R1', 'R2', 'R3', 'R4', 'R5']

方法5:query()関数とtolist()関数を使用します。

この方法を使うと、pandas DataFrame オブジェクトの中からある条件を満たす特定のインデックスだけを取得することができます

この方法では、pd.DataFrame() 関数を用いて pandas DataFrame オブジェクトを作成し、pandas DataFrame クラスの query() 関数を使用します。

DataFrameに query() 関数を適用して条件を渡すと、条件を満たした行だけを含むDataFrameが返されます。

この後、DataFrame クラスの index 属性を適用して、DataFrame のインデックス値を Python のリストとして返す tolist() 関数を使用する予定です。

それでは、この便利なメソッドを実装して、与えられた条件を満たす pandas DataFrame オブジェクトの選択された行やインデックスを取得する Python コードを見てみましょう。

# Method-5
 
# Import pandas
import pandas as pd
 
# Create a Python dictionary
data = {"Name": ['Sanjay', 'Shreya', 'Raju', 'Gopal', 'Ravi'],
        "Roll": [101, 102, 103, 104, 105],
        "Branch": ['ECE', 'CSE', 'EEE', 'ICE', 'IPE'],
        "CGPA": [8.15, 9.32, 8.78, 7.87, 8.85]}
 
# Create a DataFrame object from above dictionary
df = pd.DataFrame(data, index = ['I', 'II', 'III', 'IV', 'V'])
print("This is DataFrame:
"
)
print(df)
 
# Get the index/rows of the above DataFrame
# Using query() and tolist() functions
print("
This is index of DataFrame:
"
)
index_list = df.query("CGPA > 8.5").index.tolist()
print(index_list)

結果は以下の通りです。

This is DataFrame:
 
       Name  Roll Branch  CGPA
I    Sanjay   101    ECE  8.15
II   Shreya   102    CSE  9.32
III    Raju   103    EEE  8.78
IV    Gopal   104    ICE  7.87
V      Ravi   105    IPE  8.85
 
This is index of DataFrame:
 
['II', 'III', 'V']

まとめ

この記事では、DataFrame オブジェクトのインデックスを取得するための 4 つの異なるメソッドを学びました。

このチュートリアルで、DataFrameオブジェクトのインデックスを取得する4つの異なるメソッドを学びました。

このようなPythonのチュートリアルをもっと見るために私たちと一緒にいてください。

タイトルとURLをコピーしました