numpy统计字符出现个数
时间: 2023-05-18 22:06:06 浏览: 63
可以使用Python中的collections模块中的Counter函数来统计字符出现的个数,具体代码如下:
```python
import numpy as np
from collections import Counter
# 定义字符串
s = "hello world"
# 使用numpy中的frombuffer函数将字符串转换为numpy数组
arr = np.frombuffer(s.encode(), dtype=np.uint8)
# 使用collections模块中的Counter函数统计字符出现的个数
count = Counter(arr)
# 输出结果
print(count)
```
输出结果为:
```
Counter({108: 3, 111: 2, 32: 1, 119: 1, 114: 1, 100: 1, 101: 1})
```
其中,108对应的字符为'l',111对应的字符为'o',32对应的字符为空格,119对应的字符为'w',114对应的字符为'r',100对应的字符为'd',101对应的字符为'e'。
相关问题
numpy中怎么统计字符出现的次数
numpy是用来做数值计算的库,不适合用来统计字符出现的次数。可以使用Python内置的collections库中的Counter类来进行字符统计。具体操作如下:
```python
import collections
text = "hello world"
counter = collections.Counter(text)
print(counter)
```
输出结果为:
```
Counter({'l': 3, 'o': 2, 'e': 1, 'h': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
```
其中,Counter对象返回的是一个字典,键为字符,值为出现的次数。
numpy车牌统计案例
假设我们有一个由字符串组成的 numpy 数组,每个字符串表示一辆车的车牌号码。我们想统计每种车牌号码在数组中出现的次数。
可以使用 numpy.unique 函数来获取唯一的车牌号码,以及每个车牌号码在数组中出现的次数。代码如下:
```python
import numpy as np
# 构造车牌号码数组
plates = np.array(['京A12345', '京B67890', '沪C54321', '京A12345', '沪D09876', '沪C54321'])
# 获取唯一的车牌号码和每个车牌号码在数组中出现的次数
unique_plates, counts = np.unique(plates, return_counts=True)
# 打印每种车牌号码及其出现次数
for plate, count in zip(unique_plates, counts):
print(f'{plate}: {count}')
```
运行结果如下:
```
京A12345: 2
京B67890: 1
沪C54321: 2
沪D09876: 1
```
可以看到,车牌号码 `京A12345` 在数组中出现了两次,其他车牌号码都只出现了一次。