Pandas dataframe で行番号を取得する方法


多くの場合、パンダ データフレームで特定の値を含む行番号を取得したい場合があります。

幸いなことに、これは.index関数を使用して簡単に行うことができます。

このチュートリアルでは、この機能の実際の使用例をいくつか示します。

例 1: 特定の値に対応する行番号を取得する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

#view DataFrame 
print (df)

        team assists points
0 25 5 Mavs
1 12 7 Mavs
2 15 7 Spurs
3 14 9 Celtics
4 19 12 Warriors

次の構文を使用して、「チーム」が Mavs に等しい行番号を取得できます。

 #get row numbers where 'team' is equal to Mavs
df[df[' team '] == ' Mavs ']. index

Int64Index([0, 1], dtype='int64')

行インデックス01で、チーム名が「Mavs」と等しいことがわかります。

特定のチーム名のリスト内でチーム名が見つかった行番号を取得することもできます。

 #get row numbers where 'team' is equal to Mavs or Spurs
filter_list = [' Mavs ', ' Spurs ']

#return only rows where team is in the list of team names
df[df. team . isin (filter_list)]. index

Int64Index([0, 1, 2], dtype='int64')

行インデックス01 、および2で、チーム名が「Mavs」または「Spurs」に等しいことがわかります。

例 2: 一意の行番号を取得する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

単一の行が特定の値に一致することがわかっている場合は、次の構文を使用してその一意の行番号を取得できます。

 #get the row number where team is equal to Celtics
df[df[' team '] == ' Celtics ']. index [ 0 ]

3

行インデックス番号3では、チームが「Celtics」と等しいことがわかります。

例 3: 行番号の合計を取得する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

列が特定の値に等しい行の合計数を知りたい場合は、次の構文を使用できます。

 #find total number of rows where team is equal to Mavs
len (df[df[' team '] == ' Celtics ']. index )

2

このチームは合計2つのラインで「マブス」と同等であることがわかります。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

Pandas の複数の列の一意の値を見つける方法
複数の条件で Pandas DataFrame をフィルタリングする方法
Pandas DataFrame の欠損値を数える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です