- Numpy是高性能科学计算和数据分析的基础包。它是Pandas等其他各种工具的基础。
- Numpy的主要功能:
- ndarray,一个多维数组结构,高效且节省空间
- 无需循环对整租数据进行快速运算的数学函数
- 线性代数、随机数生成和傅里叶变换功能
- 安装方法:pip install numpy
- 引用方式:import numpy as np
import numpy as np
1 为什么用numpy?
- 已知若干家跨国公式市值,要转换成人民币。
- 已知购物车中没见商品的价格与商品件数,求总金额。
import random
a = [random.uniform(100.0, 200.0) for i in range(50)]
x = 6.8
b = []
for each in a:
b.append(each*x)
a = np.array(a)
a*x
array([ 971.54836946, 1230.25801894, 1009.93695086, 778.07069875,
1347.34192239, 830.85694411, 992.91816716, 968.82463502,
790.61843367, 750.04659306, 995.04823811, 940.83119352,
872.12366111, 1126.5645099 , 1015.98732282, 1286.79370318,
948.98123827, 1101.00354637, 749.46386142, 1343.44109031,
1183.17936556, 1235.68030649, 981.63529056, 1231.32330003,
963.56396015, 923.67919752, 1053.00562042, 1341.81973736,
1155.96713625, 873.60675873, 939.44328417, 700.71536278,
1123.45339544, 938.23929525, 971.43311266, 1207.33747815,
1318.36436382, 1159.48810275, 959.64425333, 733.97983522,
765.57555447, 826.24023719, 1254.31439198, 1050.46916221,
1103.59573233, 707.05767038, 698.0050053 , 1068.71018975,
1261.34352252, 832.40313494])
a = [random.uniform(10.0,20.0) for i in range(50)]
b = [random.randint(1,10) for i in range(50)]
a = np.array(a)
b = np.array(b)
(a * b).sum()
3676.0083431293015
2 Numpy基础
2.1 创建ndarray:np.arrray(array_like)
np.array([1,2,3,4,5])
array([1, 2, 3, 4, 5])
a = np.array(range(10))
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.array(range(10), dtype='float')
array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
2.2 ndarray-数据类型
- 布尔型:bool_
- 整型:int_ int8 int16 int32 int54
- 无符号整数:uint8 uint16 uint32 uint54
- 浮点型:float_ float16 float32 float64
- 复数型:complex_ complex64 complex128
a = np.array(range(10))
a.dtype
dtype('int32')
2.3 ndarray-常用属性
- T 数组的转置(一维数组不能转置)
- size 数组元素的个数
- ndim 数组的维数
- shape 数组的维度大小(返回元组形式)
- dtype 数组元素的数据类型
a.size
10
a = np.array([[1,2,3],[4,5,6]])
a
array([[1, 2, 3],
[4, 5, 6]])
a.size
6
a.shape
(2, 3)
a = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
a.shape
(2, 2, 3)
a = np.array([[1,2,3],[4,5,