Pandasでは、カラム値に基づいてDataFrameデータを選択し、行インデックス番号リストを取得します


一、列の条件によって、行の索引番号を取得し、リストに変換する
#dataframeでは、一定の条件に従って、要求に合致する行要素の位置を取得します.
import pandas as pd
df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},  
       index=[10,20,30,40,50])  
print(df)  
a = df[(df.BoolCol==3)&(df.attr==22)].index.tolist()  
print(a)  

しゅつりょく
  BoolCol  attr  
10        1    22  
20        2    33  
30        3    22  
40        3    44  
50        4    66  
[30]  

注意:
df[(df.BoolCol==3)&(df.attr==22)].indexはindexオブジェクトリストを返します.通常のリストフォーマットに変換する場合はtolist()メソッドを使用します.
---------------------------------------------------------------------------------------------------------------------------------
二、列条件に基づいてdataframeデータボックスのデータを選択する
#一定値に等しい明細採用を選択==
df.loc[df['column_name'] == some_value]
#カラムがタイプの数値であるかどうかをisinで選択
df.loc[df['column_name'].isin(some_values)]
#複数条件の選択用&
df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)]
#一定値以下の明細採用を選択します!=
df.loc[df['column_name'] != some_value]
#isinは一連の数値を返し、この条件に合わない数値を選択する場合は~
df.loc[~df['column_name'].isin(some_values)]