python-3.x - 如何计算不同的重复项
问题描述
我在下面分享了代码;我想删除重复项并对其进行计数。还需要一列用于计数。很明显,该代码将计算 A 列并计数,删除重复项。最后它将添加为新列。有可能吗?
df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"]})
df = pd.DataFrame({"A":["foo","bar"], "B":[3,1]})
解决方案
虽然完全不使用 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())})
推荐阅读
- python - 只是询问是否可以这样做(运行 Docker 的树莓派)
- reactjs - 通过触发子组件的动作来强制改变父组件的状态
- android - java.lang.IllegalArgumentException:提供的安装程序数据无效错误
- java - 为什么按钮无法正确发送进行硬重置的意图
- python - 是否有类似 TQDM 的模块用于创建递归进度条?
- java - 线程“main”java.lang.NumberFormatException 中的异常:对于输入字符串:“0.353”
- c - 从未排序的数组创建排序的链表
- vim - 如何创建 coc nvim 自定义片段
- javascript - 为什么外部 js fie 中的 jsx 代码不适用于 babel cdn?
- sql - Asp Sql Data Uniq Id String + Integer +1