【发布时间】:2021-04-15 21:06:29
【问题描述】:
这是一个机器学习程序。
我正在使用一个dataset,它有一个包含 id 的 csv,用于另一个目录中的 .tif 图像,以及一个标签,1 或 0。csv 中有 220,025 行。我已将此 csv 作为熊猫数据框加载。目前在数据框中,有 220,025 行,其中 130,908 行标签为 0,89,117 行标签为 1。
标签为 0 的行比标签 1 多 41,791 行。我想随机删除标签为 1 的额外行。之后,我想将样本大小从 178,234 减少到仅 50,000,每个标签有 25,000 个 id。
另一种方法可能是随机删除标签为 1 的 105,908 行和标签为 0 的 64,117 行。
如何使用 pandas 做到这一点?
我已经研究过使用.groupby,然后使用.sample,但这会在两个标签中删除相同数量的行,而我只想在一个标签中删除行。
csv 样本:
id,label
f38a6374c348f90b587e046aac6079959adf3835,0
c18f2d887b7ae4f6742ee445113fa1aef383ed77,1
755db6279dae599ebb4d39a9123cce439965282d,0
bc3f0c64fb968ff4a8bd33af6971ecae77c75e08,0
068aba587a4950175d04c680d38943fd488d6a9d,0
acfe80838488fae3c89bd21ade75be5c34e66be7,0
a24ce148f6ffa7ef8eefb4efb12ebffe8dd700da,1
7f6ccae485af121e0b6ee733022e226ee6b0c65f,1
559e55a64c9ba828f700e948f6886f4cea919261,0
8eaaa7a400aa79d36c2440a4aa101cc14256cda4,0
【问题讨论】:
标签: python pandas csv machine-learning