我有这5000行数据。
我想从数据中随机抽取300行的样本。我希望我的每个样本中没有副本在样本中,但我也不希望在样本之间重复。例如,我不想在示例1和示例3中出现一行。
我试过df.sample(300,replace=False),但这还不够。
我也搜索了论坛,但没有找到我想要的。
我如何在不做批组的情况下对熊猫进行编码?
发布于 2022-07-06 23:29:33
我不认为熊猫有专门的功能,但是这样做怎么样:
df = pd.DataFrame({"col": range(5000)})
sample = df.sample(1200, replace= False)
sample.duplicated().any()
>> False # <-- no duplicates
samples = [sample.iloc[i-300:i] for i in range(300, 1500, 300)] # <-- 4 samples考虑到.sample将返回一个不需要替换的随机选择,这将实现您想要的结果。
https://stackoverflow.com/questions/72890777
复制相似问题