Numpy简单基础

1. 创建numpy数组/矩阵

import numpy as np
print(np.__version__) # 查看版本

创建

np_arr = np.array([x for x in range(10)])
print(np_arr)

修改

np_arr[0] = 100 # 与list基本类似
print(np_arr)

查看类型

np_arr.dtype 

特殊矩阵的创建:

创建都是0的数组, 默认为float

np.zeros(10) 
np.zeros(10, dtype='int')
np.zeros((3,5)) # 三行五列
#### 或者
np.zeros(shape=(3,5))

创建全1矩阵

np.ones((3,5))

其他数字矩阵

np.full(shape = (2,4), fill_value=3)

创建随机数矩阵:

生成随机整数

np.random.randint(0, 10,10) # 随机生成从0到10的一维10个随机数,这是左开右闭的
np.random.randint(0, 10, size = (3,5))

生成符合某种分布的随机数

np.random.normal(10,100)  # 正态分布,指定均值和方差
np.random.normal(0,1,size = (3,4))

2. numpy数组/矩阵的基本操作

X = np.arange(15).reshape(3,5)
X.ndim # 二维数组 (输出几维)
X.shape # 三行五列
X.size
X[:2, :3] # 前两行前三列
X[:2, ::2] # 前两行,列是隔一行取一列

3. 合并

A = np.array([[1,2,3], 
              [4,5,6]])
# 列拼接
np.concatenate([A, A], axis = 1) # axis默认为0

np.vstack([A, np.array([6,6,6])])
np.hstack([A, np.full((2,2), 100)])

4. 分割

np.split(np.arange(10), [2,6]) # 向量

np.split(A, [1]) # 矩阵, 默认分割行
np.split(A, [2], axis=1) # 按列分割
np.vsplit(A, [1]) # 分割出上下
np.hsplit(A, [2]) # 分割出左右

np.tile(A, [2]) # 重复数组

5. 索引

big = np.arange(1000000)

#### 最小值的索引
np.argmin(big)

x = np.arange(16)
np.random.shuffle(x)

排序

np.sort(x)

快速排序

以3位分割点,3前面的都比3要小,但是不一定按照大小排序

np.random.shuffle(x)
np.partition(x, 3)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处...
    苏易川阅读 4,342评论 0 2
  • 在学习机器学习之前,必不可少的一步便是numpy相关的学习,这里我只列出了我目前学习ML遇到过的需要注意或者查阅的...
    抹茶不加茶阅读 3,161评论 0 0
  • 一、数据类型简介 Numerical Python:底层代码为C,支持处理大量数据所有 Numpy 数据类型都是 ...
    DDuncan阅读 3,517评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,187评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 13,585评论 0 11