2016-04-03 210 views
4

我知道后品尝每组这一定已经回答了一些在那里,但我无法找到它熊猫:GROUPBY

问题:GROUPBY操作之后品尝每一组

import pandas as pd 

df = pd.DataFrame({'a': [1,2,3,4,5,6,7], 
        'b': [1,1,1,0,0,0,0]}) 

grouped = df.groupby('b') 

# now sample from each group, e.g., I want 30% of each group 

回答

7

应用拉姆达并拨打sample与参数frac

In [2]: 
df = pd.DataFrame({'a': [1,2,3,4,5,6,7], 
        'b': [1,1,1,0,0,0,0]}) 
​ 
grouped = df.groupby('b') 
grouped.apply(lambda x: x.sample(frac=0.3)) 

Out[2]: 
    a b 
b   
0 6 7 0 
1 2 3 1 
+0

糟糕,只是想通了。无论如何感谢您的时间。 – gongzhitaao

+0

顺便说一句,如何获得指数的一部分? – gongzhitaao

+0

你是什么意思?如上所示, – EdChum