Pandas: 列が値と一致する行のインデックスを取得します
次の構文を使用して、列が特定の値に一致するパンダ データフレーム内の行のインデックスを取得できます。
df. index [df[' column_name ']== value ]. tolist ()
次の例は、実際に次の pandas DataFrame でこの構文を使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'], ' points ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team points rebounds 0 to 5 11 1 to 7 8 2 to 7 10 3 B 9 6 4 B 12 6 5 C 9 5 6 C 9 9 7 D 4 12
例 1: 列が値と一致する行のインデックスを取得する
次のコードは、特定の値に等しい列を持つ行のインデックスを取得する方法を示しています。
#get index of rows where 'points' column is equal to 7 df. index [df[' points ']== 7 ]. tolist () [1, 2]
これは、インデックス値1と2を持つ行のポイント列の値が「7」であることを示しています。
より小さい演算子とより大きい演算子を使用して、列が特定の値より小さいか大きい行のインデックスを見つけることもできることに注意してください。
#get index of rows where 'points' column is greater than 7 df. index [df[' points '] > 7 ]. tolist () [3, 4, 5, 6]
これは、インデックス値3 、 4 、 5 、および6を持つ行のポイント列の値が「7」より大きいことを示しています。
例 2: 列が文字列と一致する行のインデックスを取得する
次のコードは、列が特定の文字列と等しい行のインデックスを取得する方法を示しています。
#get index of rows where 'team' column is equal to 'B' df. index [df[' team ']==' B ']. tolist () [3, 4]
これは、インデックス値3と4を持つ行のチーム列の値が「B」であることを示しています。
例 3: 複数の条件を使用して行インデックスを取得する
次のコードは、複数の列の値が特定の条件に一致する行のインデックスを取得する方法を示しています。
#get index of rows where 'points' is equal to 7 or 12 df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist () [1, 2, 4] #get index of rows where 'points' is equal to 9 and 'team' is equal to 'B' df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist () [3]
追加リソース
Pandas DataFrameからセル値を取得する方法
Pandas DataFrame でインデックスの名前を変更する方法
Pandas で列を名前で並べ替える方法