0
从这个简单的数据帧df
开始:大熊猫 - GROUPBY和选择随机值的变量数量根据列
df = pd.DataFrame({'c':[1,1,2,2,2,2,3,3,3], 'n':[1,2,3,4,5,6,7,8,9], 'N':[1,1,2,2,2,2,2,2,2]})
我想选择n
每个c
N
随机值。到目前为止,我设法GROUPBY,并得到一个单一的元素/组:
sample = df.groupby('c').apply(lambda x :x.iloc[np.random.randint(0, len(x))])
返回:
N c n
c
1 1 1 2
2 2 2 4
3 2 3 8
我的预期输出会是这样的:
N c n
c
1 1 1 2
2 2 2 4
2 2 2 3
3 2 3 8
3 2 3 7
因此让1根据N
列,c = 1的样品和2个c = 2和c = 3的样品。
你认为'C'的每一个独特的价值将只有一个'N'的独特价值? – BrenBarn
@BrenBarn是的,就是这样。 –