我正在运行一个模拟测试,希望根据特定的一组条件动态更改行中每列的某些值
- 问题陈述**
1.我的数据集有400行,我的第一个测试用例是更新每列中5%的行,因此400的5% = 20行需要更新
1.这20行应该只更新前5个类别,目前在我的数据集。因此,4行,每一个需要更新
我的 Dataframe 如下所示:
A B C D Category
1 10 3 4 X
4 9 6 9 Y
9 3 7 10 XX
10 1 9 7 YY
10 1 9 7 ZZ
10 1 9 7 YZZ
10 1 9 7 YZZ
10 1 9 7 YYYY
......400 rows
- 条件为:**
1.在更新行时,我希望确保20行(整个数据集的5%)只在遇到前5个类别时才更新。在我的示例中,前5个类别是X, Y , XX, YY and ZZ
。这些行应更新为值7,而以前的值是1、2、3、4、5、6
生成的 Dataframe 应如下所示:
A B C D Category
7 10 7 7 X
7 9 7 9 Y
9 7 7 10 XX
10 7 9 7 YY
10 7 9 7 ZZ
10 1 9 7 YZZ
10 1 9 7 YZZ
10 1 9 7 YYYY
......400 rows
在结果 Dataframe 中,对不是前5个类别的类别没有影响,本例为YZZ or YYYY
,为了演示示例,我不能显示所有更新的行,但例如在上述 Dataframe 中,A列的2行已更新,其中先前值〈= 6,变为新值7,类似地,只要满足条件,其他两行将更新为7。
我怎样才能做到这一点?
1条答案
按热度按时间bgtovc5b1#
你可以试试下面的逻辑:
如果您希望每个类别4行,请使用此变量进行随机抽样: