python - Python Dataframe:随机播放一组行
问题描述
在数据框中打乱一组行的最佳方法是什么?需要这个模型的洗牌训练集。
例如,将每 10 行打乱为一个单独的组,或者有一些逻辑条件来创建单独的组并将它们打乱为一个组。
解决方案
您可以做的是 - 创建一个标识组的列,然后按该列分组,然后对每个组进行随机洗牌。
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
df['group_id'] = np.arange(df.shape[0]) // 10 # // is integer division in python3, won't work in python2
shuffled_groups = [v.drop(['group_id'], axis=1).sample(frac=1).reset_index(drop=True) for k, v in df.groupby('group_id')]
推荐阅读
- jquery - Coldfusion 在不重新加载页面的情况下动态更改输出变量
- opengl-es - 为什么我会在空对象引用上获得 surfaceTexture.updateTexImage()?
- flutter - Flutter MobX Observer 不会在 @action 时触发
- export - Dynamics 365 Finance and Operations Data Export 实体未显示?
- c# - C# 中 DataTable 中每个单元格的附加/自定义属性
- amazon-web-services - CloudFormation 更改集阻塞空 CodeUri:在 SAM 模板中
- xml - 如何使用 XQuery 进行替换
- javascript - 如何使用 AJAX 从数据库中检索数据并将结果保存在变量中?
- java - 更改 RecyclerView 项时刷新 SearchView
- git - 即使当前分支中有未提交的更改,如何以编程方式编辑另一个分支中的文件?