【发布时间】:2021-08-10 04:57:12
【问题描述】:
我想在 python 中从以下 df 中进行随机样本选择,这样至少 65% 的结果样本应该具有黄色并且所选数量的累积总和小于或等于 18。
原始数据集:
Date Id color qty
02-03-2018 A red 5
03-03-2018 B blue 2
03-03-2018 C green 3
04-03-2018 D yellow 4
04-03-2018 E yellow 7
04-03-2018 G yellow 6
04-03-2018 H orange 8
05-03-2018 I yellow 1
06-03-2018 J yellow 5
我有总数量。已覆盖选定条件,但仍停留在如何继续整合 % 条件:
df2 = df1.sample(n=df1.shape[0])
df3= df2[df2.qty.cumsum()
所需数据集:
Date Id color qty
03-03-2018 B blue 2
04-03-2018 D yellow 4
04-03-2018 G yellow 6
06-03-2018 J yellow 5
或者是这样的:
Date Id color qty
02-03-2018 A red 5
04-03-2018 D yellow 4
04-03-2018 E yellow 7
05-03-2018 I yellow 1
任何帮助将不胜感激!
提前致谢。
【问题讨论】:
-
有办法回答你的问题,但我想提出一个框架挑战。我认为这个问题没有意义。假设我将您的问题扩展为“至少 65% 蓝眼睛且总年龄为 100 岁的人的随机样本”。在没有上下文的情况下,我们必须将“随机”解释为“从所有可能的选择中随机选择,使得所有选择都具有相同的可能性”。大约有 1B 蓝眼睛的人,“随机样本”的平均大小可能在 2B 左右(完全忽略您的年龄要求,这可能是有原因的)。你还有什么其他限制?