You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用numpy与pandas统计数组重复值并生成pandas表格的问题求解

问题原因

你原有代码的sums行逻辑存在问题:uniques是原数组去重后的结果(长度为5),和原数组a(长度为12)维度不匹配,直接切片后对等比较的结果不符合计数需求,自然无法得到每个取值的对应出现次数。

修正方案

直接使用np.unique内置的return_counts参数,即可同时拿到去重后的取值列表和每个取值的对应出现次数,再直接构造pandas表格即可。

完整可运行代码

import numpy as np
import pandas as pd 

a = np.array([12,12,12,3,43,43,43,22,1,3,3,43])
# 传入return_counts=True同时获取去重值和对应计数
uniques, counts = np.unique(a, return_counts=True)
# 构造DataFrame并指定列名
res_df = pd.DataFrame({
    "Value": uniques,
    "Repetition Count": counts
})
print(res_df)

运行上述代码就能直接输出你需要的预期结果。

补充说明

如果你不想用内置参数,非要自己实现计数逻辑,可以把sums行改成遍历统计的写法:

sums = [np.sum(a == val) for val in uniques]

之后再用uniques和sums构造DataFrame即可,不过这种写法效率远低于直接用return_counts参数,不推荐处理大数组时使用。

内容的提问来源于stack exchange,提问作者georgehere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:57:04