首页 > 解决方案 > 如何计算不同的重复项

问题描述

我在下面分享了代码;我想删除重复项并对其进行计数。还需要一列用于计数。很明显,该代码将计算 A 列并计数,删除重复项。最后它将添加为新列。有可能吗?

df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"]})


df = pd.DataFrame({"A":["foo","bar"], "B":[3,1]})

标签: python-3.x

解决方案


虽然完全不使用 pandas,但您可以使用标准集合中的 Counter 来实现:

>>> from collections import Counter
>>> Counter(["foo", "foo", "foo", "bar"])
>>> counter = Counter(["foo", "foo", "foo", "bar"])
>>> counter.keys()
dict_keys(['foo', 'bar'])
>>> counter.values()
dict_values([3, 1])

因此,对于您的情况:

counter = Counter(["foo", "foo", "foo", "bar"])
df = pd.DataFrame({"A": list(counter.keys()), "B": list(counter.values())})

推荐阅读