在jupyter notebook中请自定义生成频数表和频数图的函数,数据为:否,否,否,是,是,否,否,是,否,是,否,否,是,是,否,是,否,否,是,是
时间: 2024-05-11 16:17:42 浏览: 117
好的,我能理解你的问题。你可以使用Python中的collections库来生成频数表和频数图。
首先,你需要导入collections和matplotlib库。然后,你可以定义一个名为freq_table的函数,它可以接收数据列表作为输入,并返回一个字典,其中键是列表中的唯一值,值是该唯一值在列表中出现的次数。
下面是freq_table函数的代码:
```
import collections
import matplotlib.pyplot as plt
def freq_table(data):
counter = collections.Counter(data)
freq_dict = dict(counter)
return freq_dict
```
接下来,你可以定义一个名为plot_freq的函数,它可以接收freq_table函数返回的字典作为输入,并生成一个频数图。
下面是plot_freq函数的代码:
```
def plot_freq(data):
freq_dict = freq_table(data)
x = list(freq_dict.keys())
y = list(freq_dict.values())
plt.bar(x, y)
plt.show()
```
现在,你可以在jupyter notebook中使用这两个函数来生成频数表和频数图了。例如,如果你想生成上面提到的数据的频数表和频数图,你可以使用以下代码:
```
data = ['否', '否', '否', '是', '是', '否', '否', '是', '否', '是', '否', '否', '是', '是', '否', '是', '否', '否', '是', '是']
freq_dict = freq_table(data)
print(freq_dict)
plot_freq(data)
```
输出:
```
{'否': 11, '是': 9}
```
频数图如下所示:
![image.png](attachment:image.png)
阅读全文