python - 如何在熊猫中获取 x% 的数据集
问题描述
我有一个几乎有 3000k 行的数据集。这些是数据集的标签。
现在我想获得每个标签的 10% 用于早期分析和算法。这是一个粗略的估计。
当然,我想在其中打乱行,这意味着我不想这样做,df[df['Label']==BENIGN].iloc[0:235909,:]
因为这将获得前 235k 行,但我想从中打乱行。怎么做?
解决方案
尝试sample
df.groupby('Label').sample(frac=0.1)
编辑:要为一个类采样不同的分数:
df.groupby('Label').apply(lambda x: x.sample(frac=0.01 if x.Label.iloc[0]=='Benign' else 0.1)
推荐阅读
- css - CSS 文件中的 Rails 变量
- https - Firefox 不接受 SSL 证书
- ios - 为什么原始视频和使用 GVRVideoView 播放的视频会出现色差?
- vba - 将新邮件主题行更改为附件的名称
- python - Tkinter 从 TopLevel() 小部件修改根窗口
- jquery - 如何以与背景相同的方式转换图像?
- sockets - 如何使套接字在 xamarin 中工作?
- symfony - Doctrine Custom Discriminator 图
- python - Pandas:自定义时间范围内的出现次数和特定日期的最活跃时间
- f# - 将多个后续无效字符转换为一个下划线?