如何统计一个字典中值为字符串的相同值的数量,并输出为柱状图
时间: 2023-06-10 09:03:34 浏览: 52
您可以使用Python中的collections模块的Counter函数来实现这个目标。以下是代码示例:
```
from collections import Counter
import matplotlib.pyplot as plt
# 假设您有一个字典:
my_dict = {'apple': 'fruit', 'banana': 'fruit', 'carrot': 'vegetable', 'potato': 'vegetable', 'orange': 'fruit'}
# 使用Counter统计值为字符串的相同值的数量
value_counts = Counter(my_dict.values())
# 使用Matplotlib绘制柱状图
plt.bar(range(len(value_counts)), list(value_counts.values()))
plt.xticks(range(len(value_counts)), list(value_counts.keys()))
plt.show()
```
这段代码将输出一个柱状图,其中x轴为不同的字符串值('fruit'和'vegetable'),y轴为它们出现的次数。请注意,这只是一个示例,您需要将代码根据您的具体需求进行调整。
相关问题
随机删除50个数组中值为3的值,并输出删除值的索引
您可以使用numpy库中的random.choice函数和where函数来随机删除50个数组中值为3的值,并输出删除值的索引。以下是示例代码:
```python
import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3, 2, 3, 3, 4, 5, 6, 5, 4, 3])
# 找到所有值为3的元素的索引
idx = np.where(arr == 3)[0]
# 随机删除50个元素
to_delete = np.random.choice(idx, size=50, replace=False)
# 输出删除值的索引
print(to_delete)
# 删除元素
arr = np.delete(arr, to_delete)
# 打印结果
print(arr)
```
在此示例中,我们创建了一个一维数组arr。我们使用numpy的where函数找到所有值为3的元素的索引,并将它们存储在变量idx中。然后,我们使用numpy的random.choice函数从idx中随机选择50个元素,存储在变量to_delete中。我们使用numpy的delete函数从数组中删除这些元素,并将结果存储在变量arr中。最后,我们将删除值的索引打印到控制台上,并打印删除后的数组arr。
注意,如果要删除的元素数量大于值为3的元素总数,上述代码将会引发IndexError异常。您可以使用numpy的size函数来计算值为3的元素总数,以确保要删除的元素数量不超过它。
随机删除百分之50个数组中值为3的值,并输出删除值的索引
您可以使用numpy库中的random.choice函数和where函数来随机删除百分之50个数组中值为3的值,并输出删除值的索引。以下是示例代码:
```python
import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3, 2, 3, 3, 4, 5, 6, 5, 4, 3])
# 找到所有值为3的元素的索引
idx = np.where(arr == 3)[0]
# 计算要删除的元素数量
n_to_delete = int(len(idx) * 0.5)
# 随机删除元素
to_delete = np.random.choice(idx, size=n_to_delete, replace=False)
# 输出删除值的索引
print(to_delete)
# 删除元素
arr = np.delete(arr, to_delete)
# 打印结果
print(arr)
```
在此示例中,我们创建了一个一维数组arr。我们使用numpy的where函数找到所有值为3的元素的索引,并将它们存储在变量idx中。然后,我们计算要删除的元素数量,即值为3的元素数量的百分之50。我们使用numpy的random.choice函数从idx中随机选择这些元素,存储在变量to_delete中。我们使用numpy的delete函数从数组中删除这些元素,并将结果存储在变量arr中。最后,我们将删除值的索引打印到控制台上,并打印删除后的数组arr。
注意,如果要删除的元素数量大于值为3的元素总数,上述代码将会引发IndexError异常。您可以使用numpy的size函数来计算值为3的元素总数,以确保要删除的元素数量不超过它。