numpy模块的基本使用

目录

  • 基础相关

    • narray数组创建
    • 常用的属性
    • 数据类型(dtype)
  • 进阶知识
    • range与arange

      • 共同点
      • 不同点
    • 向量化数学运算
      • 数组与标量运算
      • 数组运算(shape必须相同)
    • 索引与切片
      • 索引
      • 数组重塑(reshape)
      • 切片
      • 数组转置以及轴对换
    • 通用函数
      • 一元函数
      • 二元函数
    • 数学统计方法
    • 随机数

基础相关

narray数组创建

方法 描述
array() 将列表转换为数组,可选择显式指定dtype
arange() range的numpy版,支持浮点数
linspace() 类似arange(),第三个参数为数组长度
zeros() 根据指定形状和dtype创建全0数组
ones() 根据指定形状和dtype创建全1数组
empty() 根据指定形状和dtype创建空数组(随机值)
eye() 根据指定边长和dtype创建单位矩阵

常用的属性

属性 描述
T 数组的转置(对高维数组而言)
dtype 数组元素的数据类型
size 数组元素的个数
ndim 数组的维数
shape 数组的维度大小(以元组形式)
itemsize 每个项占用的字节数
nbytes 数组中的所有数据消耗掉的字节数

数据类型(dtype)

类型 描述
布尔型 bool_
整型 int_ int8 int16 int32 int 64
无符号整型 uint8 uint16 uint32 uint64
浮点型 float_ float16 float32 float64

进阶知识

range与arange

共同点

? 都有start,end(不顾尾),step三个参数

不同点

? arange返回的是一个ndarray(N维数组)

? range返回的是一个list

? arange允许步长为小数,range只支持整数

In [24]:

range(2,8,2)

Out[24]:

range(2, 8, 2)

In [26]:

np.arange(2,8,2)

Out[26]:

array([2, 4, 6])

向量化数学运算

*参考矩阵运算

数组与标量运算

直接做加减乘除即可,略

数组运算(shape必须相同)

索引与切片

索引

*一维数组的索引与列表没有区别,接下来主要针对多维数组.

数组重塑(reshape)

In [41]:

a4=np.random.randint(0,3,size=(2,3))
a4

Out[41]:

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

In [44]:

a4.reshape(1,6)

Out[44]:

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

In [45]:

a4.reshape(1,-1) #-1相当于占位符,系统会自动算出

Out[45]:

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

In [46]:

a4.reshape(1,-1).reshape(2,-1)

Out[46]:

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

切片

In [116]:

a4

Out[116]:

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

In [117]:

a4[:,1:2]

Out[117]:

array([[0],
       [1]])

In [118]:

a4[0:1]

Out[118]:

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

数组的行互换

In [120]:

a=np.array([[1,2,3],[4,5,6]])
a=a[::-1,:]
a

Out[120]:

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

布尔型索引

In [129]:

c=np.eye(5,dtype=int).reshape(5,-1)
c

Out[129]:

array([[1, 0, 0, 0, 0],
       [0, 1, 0, 0, 0],
       [0, 0, 1, 0, 0],
       [0, 0, 0, 1, 0],
       [0, 0, 0, 0, 1]])

In [131]:

c==1

Out[131]:

array([[ True, False, False, False, False],
       [False,  True, False, False, False],
       [False, False,  True, False, False],
       [False, False, False,  True, False],
       [False, False, False, False,  True]])

*花式索引

In [131]:

b=np.arange(32).reshape((8,4))
b

Out[131]:

array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23],
       [24, 25, 26, 27],
       [28, 29, 30, 31]])

In [132]:

b[[1,3,5,7],[1,2,1,2]]
#取出索引1,3,5,7行,在索引为1的行中取出索引为1的列,在索引为3的行中取出索引为2的列,在索引为5的行中取出#索引为1的列,在索引为7的行中取出索引为2的列

Out[132]:

array([ 5, 14, 21, 30])

数组转置以及轴对换

数组转置(返回的是视图,而非源)

arr.transpose()或者arr.T
对于高维数组,transpose需要得到一个由轴编号组成的元组(有点烧脑)

轴对换(返回的是视图,而非源)

swapaes(),需要接受轴编号

通用函数

一元函数

函数 功能
abs、fabs 分别是计算整数和浮点数的绝对值
sqrt 计算各元素的平方根
square 计算各元素的平方
exp 计算各元素的指数e**x
log 计算自然对数
sign 计算各元素的正负号
ceil 计算各元素的ceiling值
floor 计算各元素floor值,即小于等于该值的最大整数
rint 计算各元素的值四舍五入到最接近的整数,保留dtype
modf 将数组的小数部分和整数部分以两个独立数组的形式返回,与Python的divmod方法类似
isnan 判断数组中的缺失值
isinf 表示那些元素是无穷的布尔型数组
cos,sin,tan 普通型和双曲型三角函数

二元函数

函数 功能
add 将数组中对应的元素相加
subtract 从第一个数组中减去第二个数组中的元素
multiply 数组元素相乘
divide、floor_divide 除法或向下圆整除法(舍弃余数)
power 对第一个数组中的元素A,根据第二个数组中的相应元素B计算A**B
maximum,fmax 计算最大值,fmax忽略NAN
miximum,fmix 计算最小值,fmin忽略NAN
mod 元素的求模计算(除法的余数)

数学统计方法

函数 功能
sum 求和
cumsum 求前缀和
mean 求平均数
std 求标准差
var 求方差
min 求最小值
max 求最大值
argmin 求最小值索引
argmax 求最大值索引

随机数

函数 功能
rand 返回给定维度的随机数组(0到1之间的数)
randn 返回给定维度的随机数组
randint 返回给定区间的随机整数
choice 给定的一维数组中随机选择
shuffle 原列表上将元素打乱(与random.shuffle相同)
uniform 给定形状产生随机数组
seed 设定随机种子(使相同参数生成的随机数相同)
standard_normal 生成正态分布的随机样本数

原文地址:https://www.cnblogs.com/Sheppard/p/12193788.html

时间: 2024-10-14 05:20:20

numpy模块的基本使用的相关文章

【Python 数据分析】Numpy模块

Numpy模块可以高效的处理数据,提供数组支持.很多模块都依赖他,比如:pandas.scipy.matplotlib 安装Numpy 首先到网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/下查找numpy+mkl 我的Python版本是3.6.1,系统是64位 所以对应下载的包为: 下载好包之后,进入到包所在目录(例如:D:\安装包\安装包~Python\numpy-1.13.3+mkl-cp36-cp36m-win_amd64.whl) 使用如下命

第十章、numpy模块

目录 第十章.numpy模块 一.导入方式 二.作用 三.通过函数创建numpy数组 四. numpy数组运算 五.重点 第十章.numpy模块 一.导入方式 import numpy as np#约定俗成 二.作用 数组或矩阵的运算 numpy数组 arr1 = np.array([1,2,3]) #创建一维数组对象 arr1 arr2 = np.array([[1,2,3],[4,5,6]]) arr2 #二维数组 三维数组不用numpy模块,用TensorFlow.pytorch模块 属性

numpy 模块和 pandas 模块

一.numpy模块 1.1 numpy 简介 numpy是python的一种开源的数值计算扩展库,这种库可用来存储和处理大型numpy数组. numpy库有两个作用: ? 1.区别于list列表,提供了数组操作.数组运算.以及统计分布和简单的数学模型 ? 2.计算速度快,甚至要优于python内置的简单运算,使得其成为pandas.sklearn等模块的依赖包.高级的框架如TensorFlow.PyTorch等,其数组操作也和numpy非常相似. 1.2 创建numpy数组 numpy数组即nu

numpy模块(详解)

重点 索引和切片 级联 聚合操作 统计操作 矩阵 什么是数据分析 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,以便采取适当的行动 商品采购量的多少 总部向各个地区代理的发货量 为什么学习数据分析 有岗位的需求 是Python数据科学的基础 是机器学习课程的基础 数据分析实现流程 提出问题 准备数据 分析数据 获得结论 成果可视化 数据分析三剑客 numpy pandas matplotlib

Python中numpy模块

from...import与import区别在于import直接导入指定的库,而from....import则是从指定的库中导入指定的模块 import...as则是将import A as B,给予A库一个B的别称,帮助记忆 在机器学习中,对象是指含有一组特征的行向量.这个领域最出色的技术就是使用图形处理器的 GPU 运算,矢量化编程的一个重要特点就是可以直接将数学公式转换为相应的程序代码,维度是指在一定的前提下描述一个数学对象所需的参数个数,完整表述应为"对象X基于前提A是n维".

Numpy模块

Numpy import numpy as np ar = np.array([1,2,3,4,5,6]) #一维数组就是1行 print(ar, type(ar), ar.dtype) 打印: [1 2 3 4 5 6] <class 'numpy.ndarray'> int32 ar = np.array([[1,2,3,4,5,6], [2,3,4,5,6,7]]) #二维数组就是1行1列 print(ar) 打印: [[1 2 3 4 5 6] [2 3 4 5 6 7]] ar =

Python安装numpy模块及pycharm配置

查看Python版本 查看可安装模块版本 安装 进入官网下载页找到相应的whl文件下载 https://pypi.python.org/pypi/numpy 文件放于F盘 安装 测试 未报错 pycharm运行 配置 File--setting 第二步后 add local 软件关闭后,重启---运行 原文地址:https://www.cnblogs.com/hkkeryu/p/10352707.html

re模块和numpy模块

pandas模块 五大功能 支持文件存取操作,支持数据库 支持增删改查,切片,高阶函数,分组聚合等单标操作,和dict,list的互相转换 支持多表拼接合并操作 支持简单的绘图操作 支持简单的统计分析操作 import numpy as npimport pandas as pd?series# 排成列?DataFrame#pd.dataframe(内部,列,行)?   行   行    行    行列 内部  内部  内部  内部列 内部  内部  内部  内部?Dataframe属性dtyp

Python numpy模块的数据分析实验(1)

# -*- coding: cp936 -*-import numpy as npprint np.version.versionprint np.array ([1,2,3,4])print np.array ((1,2,3,4))print np.array ((1.2,2,3,4))print type(np.array ((1,2,3,4)))print np.array ([[1,2],[3,4]])print np.array((1.2,2,3,4), dtype=np.int32)

numpy模块的简单介绍

import numpy as np ret = np.arange(3) print(ret) """ 运行结果 [0 1 2] """ import numpy as npret = np.array([1,2,3,4])print(ret) """运行结果[1 2 3 4]""" import numpy as npret = np.ones(5)print(ret)ret2 =