python——numpy 常用操作

本文介绍了Python的NumPy库,用于高维度数组和矩阵运算,是机器学习的重要工具。主要内容包括创建数组、数组运算、数学函数、数组切片和索引、数组形状操作等,涉及加减乘除、转置、矩阵求逆、随机数组生成等多种操作。
摘要由CSDN通过智能技术生成

NumPy 是 Python 语言的一个扩充程序库,支持大量高维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。同时NumPy 是机器学习必不可少的工具之一。

常用操作主要有:

  • 创建数组
  • 数组运算
  • 数学函数
  • 数组切片和索引
  • 数组形状操作
  • 数组排序
  • 数组统计

环境

  • Python 3.6
  • NumPy: 1.14.2

1、导包

import numpy as np

2、通过列表创建数组 array()

np.array([1, 2, 3]) #一维数组
np.array([(1, 2, 3), (4, 5, 6)]) #二维数组

3、0/1数组 zeros()、ones()

np.zeros((3, 3)) #3行3列
np.ones((2, 3, 4))

4、等差数组 arange() reshape()

#一维等差
np.arange(5) #array([0, 1, 2, 3, 4]) 
# 二维等差
np.arange(6).reshape(2, 3) 

结果:
array([[0, 1, 2],
       [3, 4, 5]])

5、单位矩阵 eye()

np.eye(3)

结果:
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

7、等间隔数组 

#一维
np.linspace(1, 10, num=6) #array([ 1. ,  2.8,  4.6,  6.4,  8.2, 10. ])

8、随机数组

np.random.rand(2, 3)

array([[0.40360777, 0.74141574, 0.32018331],
       [0.15261484, 0.18692149, 0.19351765]])

9、随机整数数组

np.random.randint(10, size=(2, 3)) #数值小于10

array([[2, 1, 0],
       [2, 7, 5]])

10、依据函数创建数组

np.fromfunction(lambda i, j: i + j, (3, 6))

array([[0., 1., 2., 3., 4., 5.],
       [1., 2., 3., 4., 5., 6.],
       [2., 3., 4., 5., 6., 7.]])

数组运算

+-*/ 加减乘除,对应位置元素

# 矩阵乘法
np.dot(A, B)

# 如果使用 np.mat 将二维数组准确定义为矩阵,就可以直接使用 * 完成矩阵乘法计算
np.mat(A) * np.mat(B)

转置

A.T

矩阵求逆

np.linalg.inv(A)

e^x

np.exp(a)

平方根

np.sqrt(a)

三次方

np.power(a, 3)

数组的切皮与索引

一维数组

a = np.array([1, 2, 3, 4, 5])
# 一维数组索引
a[0], a[-1]

# 一维数组切片
a[0:2], a[:-1]

二维数组

a = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])

# 索引
a[0], a[-1]

######## 切片 
# 取第二列
a[:, 1]

#取第 2,3 行
a[1:3, :]

数组形状

形状(行列数)

a.shape

更改行列数

a.reshape(2, 3) #指向新对象, reshape 并不改变原始数组

# resize 会改变原始数组
a.resize(2, 3)

展平数组

a.ravel()

垂直拼合数组,摞起来

np.vstac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值