maple - 2 months ago 8x

Python Question

suppose I have an array in numpy

`array([1,1,2,3,4,5,5,5,6,7,7,7,7])`

What I want is to get two arrays to give count of each element:

`array([1,2,3,4,5,6,7])`

array([1,1,1,1,3,1,4])

How can I do this without any for loops?

Answer

```
In [1043]: np.unique(np.array([1,1,2,3,4,5,5,5,6,7,7,7,7]),return_counts=True)
Out[1043]: (array([1, 2, 3, 4, 5, 6, 7]), array([2, 1, 1, 1, 3, 1, 4]))
```

Source (Stackoverflow)

Comments