Pandas DataFrame の各グループの最初の行を取得する
pandas では、groupby 操作により、さまざまなカテゴリにわたる効率的なデータの集約と操作が可能になります。ただし、各グループ内の特定の行を取得するのは困難な場合があります。この記事では、pandas DataFrame をグループ化するときに各グループの最初の行を取得する方法を説明します。
問題:
2 つの列「id」を持つ DataFrame があります。そして「価値」。 DataFrame を「id」、「value」でグループ化し、各グループの最初の行を取得したいと考えています。
期待される結果:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
解決策:
各グループの最初の行を取得するには、 .first() メソッド。 "id" をグループ キーとして渡すことにより、.first() は一意の "id" グループごとに最初の非 null 要素を選択します。
これにより、最初の行が次のような目的の出力が生成されます。各「id」グループが表示されます。
列として識別子を取得:
必要な場合識別子を列として使用するには、.reset_index() を使用できます。
これにより、次の結果が得られます:
id | value |
---|---|
1 | first |
2 | first |
3 | first |
4 | second |
5 | first |
6 | first |
7 | fourth |
複数の行の取得:
各グループの最初の n 行を取得するには、次のように使用できます。 .head().
これにより、各グループの先頭から指定された行数を取得できます。
以上がPandas DataFrame の各グループの最初の行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。