一、Python科学计算库Numpy(Numeric Python)
1、强大的N维数组对象array
2、成熟的科学函数库
3、实用的线性代数、随机数生成函数等
4、NumPy的操作对象时多维数组ndarray
nbarray.shape数组的维度
5、创建数组:np.array(<list>),np.arange()
改变数组形状reshape()
二、语法:NumPy创建随机数组
np.rangdom.randint(a, b,size)
创建[a,b)间形状为size的数据
实例:
三、掷骰子的科学计算
"""
作者:lanxingbudui
功能:模拟掷骰子
版本:1.0
日期:2019-10-26
2.0新增功能:模拟投掷2个骰子
3.0新增功能:投掷两个骰子的可视化输出
4.0新增功能:直方图可视化结果
5.0新增功能:科学计算
"""
import matplotlib.pyplot as plt # 可视化的模块
import numpy as np
# 解决中文现实问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
def main():
"""
主函数
"""
# 投掷骰子的次数
total_times = 10000
# 记录骰子的结果
roll1_arr = np.random.randint(1, 7, size = total_times)
roll2_arr = np.random.randint(1, 7, size = total_times)
result_arr = roll1_arr + roll2_arr
hist, bins = np.histogram(result_arr, bins=range(2, 13))
print(bins)
print(hist)
# 数据可视化
plt.hist(result_arr, bins=range(2, 14), density=1, edgecolor='black', linewidth=1, rwidth=0.8)
# 设置x轴坐标名称
tick_labels = ['2点', '3点', '4点', '5点',
'6点', '7点', '8点', '9点', '10点', '11点', '12点']
tick_pos = np.arange(2, 13) + 0.5
plt.xticks(tick_pos, tick_labels)
plt.title('骰子点数统计')
plt.xlabel('点数')
plt.ylabel('频率')
plt.show()
if __name__ == '__main__':
main()
来了,上结果图。丑爆了大图!!