python随机生成正态分布的100个数并绘制表格
时间: 2023-05-11 10:02:56 浏览: 108
可以使用numpy库中的random模块生成正态分布的随机数,然后使用matplotlib库绘制表格。以下是示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成100个正态分布的随机数
mu, sigma = 0, 0.1 # 均值和标准差
s = np.random.normal(mu, sigma, 100)
# 绘制直方图
count, bins, ignored = plt.hist(s, 30, density=True)
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
linewidth=2, color='r')
plt.show()
```
运行以上代码,即可生成正态分布的随机数并绘制表格。
相关问题
python怎么用excel表画正态分布
要使用Python绘制正态分布曲线并将其输出到Excel表格中,我们可以使用以下步骤:
1. 导入所需的库:
```python
import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
import seaborn
```
2. 生成正态分布的随机样本数据:
```python
mean = 0 # 均值
std_dev = 1 # 标准差
sample_size = 1000 # 样本大小
np.random.seed(0) # 设置随机种子,保证结果可复现
data = np.random.normal(mean, std_dev, sample_size)
```
3. 绘制正态分布曲线:
```python
plt.figure(figsize=(10, 6))
seaborn.histplot(data, kde=True) # 绘制直方图和核密度估计曲线
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Normal Distribution')
plt.grid(True)
plt.show()
```
4. 将绘制的图表输出到Excel表格中:
```python
df = pd.DataFrame({'Value': data})
writer = pd.ExcelWriter('normal_distribution.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Distribution', index=False)
workbook = writer.book
worksheet = writer.sheets['Distribution']
chart = workbook.add_chart({'type': 'line'})
chart.add_series({
'categories': ['Distribution', 0, 0, sample_size, 0],
'values': ['Distribution', 0, 1, sample_size, 1],
})
chart.set_title({'name': 'Normal Distribution'})
chart.set_x_axis({'name': 'Value'})
chart.set_y_axis({'name': 'Frequency'})
worksheet.insert_chart('D2', chart)
writer.save()
```
上述代码将生成一个包含正态分布样本数据的Excel表格,并在'Distribution'工作表上绘制直方图和核密度估计曲线。在'Distribution'工作表中,将生成的图表插入到单元格'D2'中。最终的Excel文件名为'normal_distribution.xlsx'。
希望以上回答能对您有所帮助。
阅读全文