想象一下下面的Python Pandas数据帧:df = pd.DataFrame({'id' : ['foo', 'bar', 'foo'], \
'A' : ['property1', 'property1', 'property2'], \
'B' : ['test', 'test', 'test'] })
from tabulate import tabulate
print(tabulate(df, headers='keys', tablefmt='psql'))
+----+-----------+------+------+
| | A | B | id |
|----+-----------+------+------|
| 0 | property1 | test | foo |
| 1 | property1 | test | bar |
| 2 | property2 | test | foo |
+----+-----------+------+------+
在这里您可以看到,对于id“foo”列B只有一个唯一(不同的)值,即test。但对于A列,它有两个不同的值属性1和属性2。对于id“bar”两列都只有一个不同的值。在
我要找的是代码,如果按id分组,那么这些列的计数大于1。因此结果应该是列A的名称,因为它包含非重复值。在
^{pr2}$
我只知道如何得到计数(发生)大于1的ID。但这不是我最终想要的。在df['id'].value_counts().reset_index(name="count").query("count > 1")["id"]
谢谢你的任何暗示。在