写一份python程序,从0~100的均匀分布中进行随机抽取,抽取10000份样本,输出样本的值在0~100上的概率分布图
时间: 2024-10-13 11:15:53 浏览: 21
当然可以。你可以使用Python的NumPy库来进行随机数生成,并结合Matplotlib库绘制概率分布图。以下是一个简单的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 随机抽取10000个0到100之间的均匀分布样本
random_samples = np.random.uniform(0, 100, size=10000)
# 计算每个样本出现的频率
frequency_distribution = np.bincount(random_samples.astype(int))
# 创建直方图数据
hist, bins = np.histogram(random_samples, bins=np.arange(0, 101), density=True)
# 绘制概率分布图
plt.figure(figsize=(10, 6))
plt.bar(bins[:-1], hist, width=(bins[1] - bins[0]), alpha=0.5)
plt.xlabel('Sample Value')
plt.ylabel('Probability')
plt.title('Probability Distribution of Random Samples (0 to 100)')
plt.show()
相关问题
写一份python程序,从0~100中进行随机抽取100份样本,输出样本的值在0~100上的概率分布图
当然可以,你可以使用Python的`random`模块生成随机数,并结合`matplotlib`库来绘制概率分布图。下面是一个简单的示例:
```python
import random
import matplotlib.pyplot as plt
# 设置随机种子以便于复现结果
random.seed(42)
# 生成1000个0到100之间的随机数作为样本
sample = [random.randint(0, 100) for _ in range(1000)]
# 计算每个数值出现的频率
frequency = {i: sample.count(i) / len(sample) for i in range(101)}
# 绘制直方图
plt.hist(sample, bins=range(101), align='left', edgecolor='black', alpha=0.7)
plt.xlabel('数值')
plt.ylabel('概率')
plt.title('0~100之间随机数的概率分布')
for value, freq in frequency.items():
plt.text(value, freq, str(round(freq, 2)), ha='center', va='bottom')
# 显示图形
plt.show()
写一份python程序,从0~100的均匀分布中进行随机抽样,输出样本的值在0~100上的概率分布图
当然可以。在Python中,我们可以使用`numpy`库生成随机数,并利用`matplotlib`库绘制概率分布图。下面是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义生成随机数的函数
def random_sampling(size):
return np.random.uniform(0, 100, size) # 生成指定大小的均匀分布随机数
# 设置需要抽取的样本数量
sample_size = 10000
# 抽取样本并计算频率
samples = random_sampling(sample_size)
frequencies, bins = np.histogram(samples, bins=50)
# 计算每个bin的概率(频率除以总样本数)
probabilities = frequencies / sample_size
# 绘制直方图
plt.bar(bins[:-1], probabilities, width=(bins[1] - bins[0]))
plt.xlabel('Value')
plt.ylabel('Probability')
plt.title('Probability Distribution of Random Samples (0-100)')
plt.show()
阅读全文