python numpy库简介

本文介绍了Python中的numpy库,用于矩阵运算的核心工具。内容包括创建和初始化数组(如array,zeros,ones,empty),reshape函数改变数组结构,delete函数删除数组元素,argwhere找到满足条件的索引,以及ravel将多维数组转为一维,shape获取数组维度,mean计算平均值,和diff计算差值等基本操作。
摘要由CSDN通过智能技术生成

概要

numpy库是python语言处理矩阵运算常用的工具,本文对其常用命令进行简单的介绍。

前置操作

import numpy as np

命令

array[创建数组]

一维数组

a = np.array([2,3,4])

二维数组

b = np.array([(1.5,2,3), (4,5,6)])

zeros,ones,empty[初始化数组]

np.zeros( (3,4) )
array([[ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.]])
np.ones( (2,3,4), dtype=np.int16 )                # dtype can also be specified
array([[[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],
        [ 1, 1, 1, 1]],
       [[ 1, 1, 1, 1],
        [ 1, 1, 1, 1],
        [ 1, 1, 1, 1]]], dtype=int16)
np.empty( (2,3) )                                 # uninitialized, output may vary
array([[  3.73603959e-262,   6.02658058e-154,   6.55490914e-260],
       [  5.30498948e-313,   3.14673309e-307,   1.00000000e+000]])

reshape[改变列表的结构]

a = np.arange(6)                         # 1d array
print(a)
[0 1 2 3 4 5]

b = np.arange(12).reshape(4,3)           # 2d array
print(b)
[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]

c = np.arange(24).reshape(2,3,4)         # 3d array
print(c)
[[[ 0  1  2  3]
  [ 4  5  6  7]
  [ 8  9 10 11]]
 [[12 13 14 15]
  [16 17 18 19]
  [20 21 22 23]]]

delete[删除任意行|列]

有以下3个参数:

  • arr:输入数组
  • obj:指定要通过的整数,切片或者列表(数组)删除的行号/列号
  • axis:要删除的轴
a = np.arange(12).reshape(3, 4)
print(a)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]
删除一行
a_del = np.delete(a, 1, 0)
print(a_del)
# [[ 0  1  2  3]
#  [ 8  9 10 11]]
删除一列
print(np.delete(a, 1, 1))
# [[ 0  2  3]
#  [ 4  6  7]
#  [ 8 10 11]]
删除多行
指定列表 -- 在列表中指定想要删除的行号或列号
print(np.delete(a, [0, 3], 1))
# [[ 1  2]
#  [ 5  6]
#  [ 9 10]]
指定切片 -- 指定切片的范围,从而指定多个行或列
print(np.delete(a, slice(1, 3), 1))
# [[ 0  3]
#  [ 4  7]
#  [ 8 11]]

argwhere[满足条件的索引]

x = np.arange(6).reshape(3,2)
x
array([[0, 1],
       [2, 3],
       [4, 5]])
np.argwhere(x[:,0]>1) # 第一个参数表示从第一行到最后一行,第二个参数表示第一个元素
array([[1],
       [2]])

ravel[多维数组转换为一维数组]

a = np.array([[2,3],[4,5]])
a
array([[2, 3],
       [4, 5]])
a.ravel()
array([2, 3, 4, 5])

shape[数组的维度]

a = np.array([[2,3,4],[4,5,6]])
a.shape
(2, 3)
>>> a.shape[0]
2
>>> a.shape[1]
3

mean[求取平均值]

a = np.array([[1, 2], [3, 4]]) 
a 
array([[1, 2],
       [3, 4]]) 
np.mean(a) # 全局均值
2.5 
np.mean(a, axis=0) # axis=0,计算每一列的均值 
array([ 2., 3.]) 
np.mean(a, axis=1) # 计算每一行的均值 
array([ 1.5, 3.5])

diff[计算差值]

A = np.arange(2 , 14).reshape((3 , 4))
A[1,1] = 8
A
array([[ 2,  3,  4,  5],
       [ 6,  8,  8,  9],
       [10, 11, 12, 13]])
np.diff(A,axis=0)
array([[4, 5, 4, 4],
       [4, 3, 4, 4]])
np.diff(A,axis=1)
array([[1, 1, 1],
       [2, 0, 1],
       [1, 1, 1]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值