Pandasでは、カラム値に基づいてDataFrameデータを選択し、行インデックス番号リストを取得します
一、列の条件によって、行の索引番号を取得し、リストに変換する
#dataframeでは、一定の条件に従って、要求に合致する行要素の位置を取得します.
しゅつりょく
注意:
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)]
#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)]