首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何一次从数组元组中读取每个数组的第n个元素

如何一次从数组元组中读取每个数组的第n个元素
EN

Stack Overflow用户
提问于 2019-10-02 14:33:48
回答 1查看 36关注 0票数 0

我想使用numpy.unique(a,return_count=True)函数where a = numpy.array([5,2,6,2,7,5,6,8,2,9])检查我的数组是否有重复的元素。此函数返回数组的元组,如:(array([2, 5, 6, 7, 8, 9]), array([3, 2, 2, 1, 1, 1], dtype=int64))。现在我想得到这样的结果:2发生3次5发生2次6发生2次

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 14:39:18

代码语言:javascript
复制
In [237]: arr = np.array([5,2,6,2,7,5,6,8,2,9])                                                                                           
In [241]: np.unique(arr,return_counts=True)                                     
Out[241]: (array([2, 5, 6, 7, 8, 9]), array([3, 2, 2, 1, 1, 1]))

In [242]: u,cnt = np.unique(arr,return_counts=True)                             

在字典中配对:

代码语言:javascript
复制
In [243]: {k:v for k,v in zip(u,cnt)}                                           
Out[243]: {2: 3, 5: 2, 6: 2, 7: 1, 8: 1, 9: 1}

或元组列表:

代码语言:javascript
复制
In [244]: list(zip(u,cnt))                                                      
Out[244]: [(2, 3), (5, 2), (6, 2), (7, 1), (8, 1), (9, 1)]

这是一种转置,类似于数组:

代码语言:javascript
复制
In [246]: np.array((u,cnt)).T                                                   
Out[246]: 
array([[2, 3],
       [5, 2],
       [6, 2],
       [7, 1],
       [8, 1],
       [9, 1]])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58196284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档