パンダ: 各グループの最初の行を取得する方法


次の基本構文を使用して、pandas DataFrame の各グループの最初の行を取得できます。

 df. groupby (' column_name '). nth ( 0 )

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas の各グループの最初の行を取得する

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 29],
                   ' assists ': [5, 19, 14, 8, 9, 12, 13, 8]})

#view DataFrame
df

	team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
4 B 14 9
5 C 11 12
6 C 20 13
7 C 29 8

次のコードを使用して、各チームの最初の行を取得できます。

 #get first row for each team
df. groupby (' team '). nth ( 0 )

	assist points
team		
At 18 5
B 19 14
C 11 12

as_index=Falseを指定して、元のインデックス値を保持することもできます。

 #get first row for each team, keep original index values
df. groupby (' team ', as_index= False ). nth ( 0 )

        team points assists
0 to 18 5
2 B 19 14
5 C 11 12

各グループの最初の n 行を取得したい場合は、値のリストをnth()関数に渡すことができることにも注意してください。

たとえば、次のコードは、各グループの最初の 2 行を取得する方法を示しています。

 #get first two rows for each team, keep original index values
df. groupby (' team ', as_index= False ). nth (( 0,1 ) )

team points assists
0 to 18 5
1 To 22 19
2 B 19 14
3 B 14 8
5 C 11 12
6 C 20 13

: nth()関数の完全なドキュメントはここで見つけることができます。

追加リソース

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

Pandas DataFrame の最初の行を取得する方法
Pandas DataFrame の最初の行を削除する方法
Pandas DataFrame に行を挿入する方法

コメントを追加する

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