Numpy
Numpy是啥
- NumPy是Python中科学计算的基础包
- NumPy包的核心是 ndarray 对象
- N维数组
import numpy as np

2 创建
2.1 list & tuple – array
>>> import numpy as np
# 一维数组
# 基于list
>>> arr1 = np.array([1, 2, 3, 4])
>>> print(arr1)
[1 2 3 4]
# 基于tuple
>>> arr_tuple = np.array((1, 2, 3, 4))
>>> print(arr_tuple)
[1 2 3 4]
# 二维数组
>>> arr2 = np.array([[1, 2, 4], [3, 4, 5]])
>>> print(arr2)
[[1 2 4]
[3 4 5]]
2.2 np.arange – array
>>> arr1 = np.arange(5)
>>> print(arr1)
[0 1 2 3 4]
>>> arr2 = np.array([np.arange(3), np.arange(3)])
>>> print(arr2)
[[0 1 2]
[0 1 2]]
>>> a = np.arange(5, dtype=float)
>>> print(a)
[0. 1. 2. 3. 4.]
2.3 文件读取 – array
>>> data = np.genfromtxt('data.csv', delimiter=',')
3 数组属性
ndim,数组维度的数量shape,数组对象的尺度size,元素的数量
4 切片和索引
一维数组的切片和索引与python的list索引类似
>>> a = np.arange(7)
>>> a
array([0, 1, 2, 3, 4, 5, 6])
>>> a[1:4]
array([1, 2, 3])
>>> a[ : 6: 2]
array([0, 2, 4])
# 切出个矩阵
>>> arr = np.arange(24).reshape((4, 6))
>>> print(arr)
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
>>> print(arr[0:3, 2:5])
[[ 2 3 4]
[ 8 9 10]
[14 15 16]]
5 形状转换
5.1 reshape()和resize()
# reshape 不改变原矩阵
>>> print(arr.reshape(3, 8))
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]]
>>> print(arr)
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17]
[18 19 20 21 22 23]]
# resize 改变原矩阵
>>> arr.resize(3, 8)
>>> print(arr)
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]]
5.2ravel()和flatten()
将多维数组转换成一维数组
>>> b = np.arange(12).reshape(4, 3)
>>> b
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
>>> b.ravel()
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>> b.flatten()
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
6 常用统计函数
np.sum(),返回求和np.mean(),返回均值np.max(),返回最大值np.min(),返回最小值
>>> b
array([[ 0, 1, 20, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
>>> np.max(b)
20
# axis=1
>>> np.max(b, axis=1)
array([20, 11])
# axis=0
>>> np.max(b, axis=0)
array([ 6, 7, 20, 9, 10, 11])
>>> np.min(b)
0
210

被折叠的 条评论
为什么被折叠?



