Pandas Groupyは最初のNグループのみを取得します[重複]質問する

Pandas Groupyは最初のNグループのみを取得します[重複]質問する

ID でグループ化したい DataFrame がいくつかあります。例:

import pandas as pd
df = pd.DataFrame({'item_id': ['a', 'a', 'b', 'b', 'b', 'c', 'd'], 'user_id': [1,2,1,1,3,1,5]})
print df

生成されるもの:

  item_id  user_id
0       a        1
1       a        2
2       b        1
3       b        1
4       b        3
5       c        1
6       d        5

[7 rows x 2 columns]

ID で簡単にグループ化できます:

grouped = df.groupby("item_id")

しかし、最初の N 個の group-by オブジェクトだけを返すにはどうすればよいのでしょうか? たとえば、最初の 3 つの一意の item_id だけが必要な場合などです。

ベストアンサー1

を使用する 1 つの方法を次に示しますlist(grouped)

result = [g[1] for g in list(grouped)[:3]]

# 1st
result[0]

  item_id  user_id
0       a        1
1       a        2

# 2nd
result[1]

  item_id  user_id
2       b        1
3       b        1
4       b        3

おすすめ記事