数组的创建¶
Numpy最重要的一个特点就是它可以快速地创建一个N维数组对象,然后你可以利用ndarray
这种数据结构非常高效地执行一些数学运算,并且语法风格和Python基本一致。
Numpy创建数组的常用方式 #card¶
使用array方法创建数组¶
通过numpy原生数组创建数组¶
创建随机数组¶
numpy数组元素的类型¶
案例¶
我们知道大学生的身高都是服从某一正态分布规律的。我们假设大学生平均身高是175厘米,身高的标准差是10厘米,那我们通过Numpy
可以生成10万大学生的身高样本,通过不断地采样,观察随着采样样本数的增多,其均值是如何变化的。我们用numpy.random.choice
函数来模拟采样的过程。
# 设置matplotlib图片样式在jupyter notebook中显示
%matplotlib inline
# 导包
import numpy as np
import matplotlib.pyplot as plt
# 生成10万身高数据
arr_height = np.random.normal(175, 10, size=100000)
# 进行第一次采样,采样的样本赋值给sample_height,存储格式为ndarray
sample_height = np.random.choice(arr_height, size=1, replace=True)
# average 用来存储每次采样后计算的平均身高
average = []
# 进行10000轮循环采样,因为每次仅采集1个样本,所以整个过程可以视为有放回抽样
n = 10000
for round in range(n):
sample = np.random.choice(arr_height, size=1, replace=True)
sample_height = np.append(sample_height, sample)
average.append(np.average(sample_height))
# 进行绘图,具体过程在后续章节详细说明
plt.figure(figsize=(8,6))
plt.plot(np.arange(n), average, alpha=0.6, color='blue')
plt.plot(np.arange(n), [175 for i in range(n)], alpha=0.6, color='red', linestyle='--')
plt.xlabel("Sample Rounds", fontsize=10)
plt.ylabel("Average Height", fontsize=10)
plt.show()
练习¶
- 创建一个
ndarray
,其中至少包含一个小数点后5位的数字,并将其打印出来(精度要求为小数点后1位),然后将其通过astype
方法转化为int16
类型并保存到某个变量中。 - 产生10个介于
0-1
之间的随机数组成总体,然后从中抽取3个元素组成样本,将这个样本打印出来。
参考资料¶
最后更新:
2022年10月15日 01:02:48
创建日期: 2021年9月12日 05:55:32
创建日期: 2021年9月12日 05:55:32
Contributers: