python模块numpy-Python中的numpy模块解析

numpy

1. 创建对象

维度(dimensions):轴

轴的个数:秩(rank)

Numpy最重要的一个特点就是其N维数组对象(即ndarray)

创建数组最简单的函数就是用array函数:

Import numpy

data = [[1,2,3],[2,3,4],[4,5,6]]

ndarray_object = numpy.array(data)

ndarray_object = numpy.ones((3,4))

ndarray_object = numpy.zeros((3,4))

array 将输入数据(列表、元组、数组或者其他序列类型)转换为ndarray。要么推断出dtype,要么显示制定dtype。默认直接复制输入数据。

asarray 将输入转换为ndarray,如果输入本身就是一个ndarray就不进行复制。

arrange 类似于内置的range,但返回的是一个ndarray而不是列表。

ones,ones_like 根据制定的形状和dtype创建一个全1数组。ones_like一另一个数组为参数,并根据其形状和dtype创建一个全1数组。

zeros,zeros_like 类似于ones和ones_like,只不过产生的是全0数组而已。

empty,empty_like 创建新数组,只分配内存空间但不填充任何值。

eye,identity 创建一个正方的N x N 单位矩阵(对角线为1,其余为0)

2. ndarray的数据类型

dtype()是一个特殊的对象,它含有ndarray将一块内存解释为特定数据类型所需的信息。

numpy中的数据类型转换,不能直接改原数据的dtype!只能用函数astype()。

3. 数组与标量的运算

大小相等的数组之间的任何算术运算都会将运算进行到元素级。

同样,数组和标量的算术运算也会将那个标量传播到各个元素。

不同大小的数组之间的运算叫做广播。

4. 基本的索引和切片

>>>import numpy as np

>>>a=[1,2,3,4,5]

>>>np.array(a)

>>>array([1, 2, 3, 4, 5])

>>>b=np.array(a)

>>>b[1:3]

>>>array([2, 3])

>>>c=b[1:3]

>>>c

>>>array([2, 3])

>>>c[:]=12

>>>a

>>>[1, 2, 3, 4, 5]

>>>b

>>>array([ 1, 12, 12, 4, 5])

如果你想得到的是ndarray切片的一份副图而非视图,就需要显示低进行复制操作例如,

b[2:3].copy。

>>>names = np.array([["ryan"],["tom"],["hello"],["lucy"]])

>>>names

array([["ryan"],

["tom"],

["hello"],

["lucy"]], dtype="|S5")

>>>names[2]="whathello"

>>>names

array([["ryan"],

["tom"],

["whath"],

["lucy"]], dtype="|S5")

>>>b = np.array([["ryan"],["tom"],["whathello"],["lucy"]])

>>>b

array([["ryan"],

["tom"],

["whathello"],

["lucy"]], dtype="|S9")

>>>b=="ryan"

array([[ True],

[False],

[False],

[False]])

Python关键字and 和 or在布尔数组中无效。

5. 数组转置和轴对换

>>>a=np.arange(15).reshape((3,5))

>>>a

array([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14]])

6. 函数和方法method总览

# 1.创建数组

arrange, array, copy, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r, zeros, zeros_like

# 2.转化

astype, atleast ld, atleast 2d, atleast 3d, mat

# 3.操作

array split, column stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, item, newsxis,ravel, repeat, reshape, resize, squeeze,swapaxes, take,transpose

# 4.询问

all, any, nonzero, where

# 5.排序

argmax, argmin, argsort, max, min, ptp, searchsorted, sort

# 6.运算

choose, compress, cumprod, cumsum, inner, fill, imag, prod, putmask, real, sum

# 7.基本统计

cov, mean, std, var

# 8.基本线性代数

cross, dot, outer, svd, vdot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值