frac = .3
df.groupby('b').apply(pd.DataFrame.sample, frac=.3)
     a  b
b        
0 6  7  0
1 0  1  1
df.groupby('b', group_keys=False).apply(pd.DataFrame.sample, frac=.3)

   a  b
6  7  0
2  3  1

其他方法:先shuffle,再groupby,然后head

df.sample(frac=1).groupby('b').head(2)

   a  b
2  3  1
5  6  0
1  2  1
4  5  0

以上代码等价于df.groupby('b', group_keys=False).apply(pd.DataFrame.sample, n=N)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-09-19
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-06
  • 2021-11-30
相关资源
相似解决方案