我有一个包含A、B、C和D列的 Dataframe 。A是最粗糙的,许多行都具有相同的A值,B更精细,C更精细,依此类推。我想选择具有唯一A值、B值组合的n行。
A B C D
0 a1 b1 c1 d1
1 a1 b1 c2 d2
2 a1 b2 c3 d3
3 a1 b2 c4 d4
4 a2 b3 c5 d5
5 a2 b3 c6 d6
6 a2 b4 c7 d7
7 a2 b4 c8 d8
在上面的示例中,我希望选择这样的行:1对于每个唯一的A值B值组合都有1行。
这种选择的一个例子是
A B C D
0 a1 b1 c1 d1
2 a1 b2 c3 d3
4 a2 b3 c5 d5
6 a2 b4 c7 d7
我该如何优雅地对待Pandas呢?
2条答案
按热度按时间flvlnr441#
您可以进行分组,然后使用
.head()
:iqih9akk2#
你可以简单地对
A
和B
的列子集执行drop_duplicates
,根据keep
参数的定义,你总是得到一个组合的第一行或最后一行,或者你用groupby.sample
对你的数据进行groupby,得到每组的随机行。