前言

numpy是python的科学计算模块,底层实现用c代码,运算效率很高。numpy的核心是矩阵narray运算。

narray介绍

矩阵拥有的属性

ndim属性:维度个数

shape属性:维度大小

dtype属性:数据类型

常用矩阵创建方法

import numpy as np

# 由列表转化

np.array([[1,2],[3,4]])

# 创建多维随机浮点数矩阵,区间0.0 ~ 1.0

arr = np.random.rand(3, 4)

# 创建多维整数矩阵,指定随机区间

arr = np.random.randint(-1, 5, size = (3, 4))

# 创建多维随机浮点数矩阵,指定区间

np.random.uniform(-1, 5, size = (3, 4))

# 创建全是0的矩阵

np.zeros((3,4))

# 仿照一个矩阵的形状和类型创建0矩阵

np.zeros_like([3,4])

# 创建1的矩阵

np.ones((3,4))

#仿照一个矩阵的形状和类型创建1矩阵

np.ones_like((3,4))

# 创建随机值

np.empty((3,4))

# 对原来矩阵打乱顺序

np.random.shuffle(arr)

常用基础运算方法

如果python代码中有很多涉及数学运算的操作,使用numpy是一种很好的提高运算效率的方法。

import numpy as np

np.sum() # 计算矩阵元素的和

np.mean() # 计算平均值

np.e # 自然数e

np.pi # 自然数π

np.abs() # 计算绝对值,可以是数组

np.std(li) # 计算标准差

np.var() # 计算方差

np.max() # 计算最大值

np.min() # 计算最小值

np.cov(a,b) # 计算协方差,得到矩阵,去[0,1]或[1,0]位置的为协方差

np.alen(a) # 计算矩阵的长度,多维矩阵计算第一列的长度,即列数

np.argmax() # 返回最大索引下标值

np.argmin() # 返回最小索引下标值

np.ceil(): # 向上最接近的整数,参数是 number 或 array

np.floor(): # 向下最接近的整数,参数是 number 或 array

np.rint(): # 四舍五入,参数是 number 或 array

np.isnan(): # 判断元素是否为 NaN(Not a Number),参数是 number 或 array,返回布尔矩阵

np.multiply(arr1, arr2): # 对应元素相乘,参数是 number 或 array

np.divide(arr1, arr2): # 元素相除,参数是 number 或 array

np.where(condition, x, y): # 三元运算符,x if condition else y

np.any(): # 至少有一个元素满足指定条件,返回True

np.all() # 所有的元素满足指定条件,返回True

np.unique() # 去除重复值并返回上升的排序结果

v = np.who({'aaa':arr1}) # 打印arr的相关属性

矢量的加减乘

arr1 = np.random.randint(0,10,size=(3,4))

print(arr1*arr1) # 相对应元素相乘

print(arr1+arr1) # 对应元素相加

print(arr1-arr1) # 对应元素相减

布尔判断

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

print(arr1 < 5)

[[False False False]

[False True False]]

矩阵转换

# 多维使用数字表示维数,0,1,2,3代表四维

arr = np.random.rand(2,3) # 2x3 数组

print(arr.transpose()) # 转换为 3x2 数组,默认规则行列交换

arr.transpose((3,2,1,0)) # 行和列交换

arr1 = arr.T # 行列交换

# 从原来矩阵按规则产生新矩阵

np.take()

>>> a = [4, 3, 5, 7, 6, 8]

>>> indices = [0, 1, 4]

>>> np.take(a, indices)

array([4, 3, 6])

>>> np.take(a, [[0, 1], [2, 3]])

array([[4, 3],

[5, 7]])

# 在不改变数据的情况下改变矩阵形状

np.reshape()

>>> np.reshape(a, (2, 3))

array([[0, 1, 2],

[3, 4, 5]])

# 数据复制

np.repeat()

>>> np.repeat(3, 4)

array([3, 3, 3, 3])

读取数据文件

从txt文件中加载矩阵数据。

data_array = np.loadtxt(filename, # 文件名

delimiter=',', # 分隔符

dtype=int, # 数据类型,指的是生成的矩阵的数据类型

usecols=(0,1)) # 指定读取的列号

参考

python第三方库numpy-python第三方库之numpy基础相关推荐

  1. python 离线下载和安装第三方库 .whl wheel 文件

    python 离线下载和安装第三方库 .whl wheel 文件 下载 .whl 文件 pip download \--only-binary=:all: \ # 对于包以及包的依赖包,都不使用二进制 ...

  2. python第三方库排行-Python模块汇总(常用第三方库)

    模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...

  3. python第三方库大全win-Python标准库、第三方库和外部工具汇总

    导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具. 这些库可用于文件读写.网络抓取和解析.数据连 ...

  4. 以下用于数据存储领域的python第三方库是-Python 二级选择题

    88.下面代码的输出结果是 ( A ) print(round(0.1 + 0.2,1) == 0.3) A: True B: 0 C: 1 D: False 解释: round 是一个四舍五入的函数 ...

  5. python第三方库排行-Python常用第三方库总结

    网络爬虫 网络请求 requests: Requests allows you to send HTTP/1.1 requests extremely easily. 一个处理http请求的客户端库, ...

  6. python能够处理图像的第三方库_基于图像预处理的几个库

    python 里面有第三方库PIL Python第三方库使用 -- PIL 1.PIL 读取获得的图像矩阵与 numpy 下的多维数组 import numpy as np from PIL impo ...

  7. python网络爬虫的第三方库_Python常用第三方库_网络爬虫、数据分析与WEB开发、机器学习...

    Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域.下面简单介绍下网络爬虫.自动化.数据分析与可视化.WEB开发.机器学习和其他常用的一些第三方库,如果有你感兴趣的库,不妨去试试它的功能 ...

  8. python文档处理第三方库_Python常用第三方库大盘点

    Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域.下面简单介绍下网络爬虫.自动化.数据分析与可视化.WEB开发.机器学习和其他常用的一些第三方库,如果有你感兴趣的库,不妨去试试它的功能 ...

  9. 不是python中用于开发用户界面的第三方库-python界面 | Tkinter图形界面开发库

    0 写在前面 未经允许,不得转载,谢谢~~ 毕设要在现有的基础上做一个可视化的界面,所以趁机也学习一波如何用python实现图形界面的开发. 本文主要学习并整理了: 简要介绍用于python图形界面开 ...

  10. 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json

    认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一.先讲讲json的出现,就要先讲讲序列化 1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以 ...

最新文章

  1. 2021年度最有成就感的几件事
  2. 需求调研计划_拆书营销管理 实施营销调研和预测需求
  3. ibmmq 通道命令_IBM MQ 使用指南
  4. 论营销的重要性:以一个磁铁为例
  5. boost::range_pointer相关的测试程序
  6. 茅塞顿开:Spring Aware原理解析
  7. 在java中写出html代码,在java里写html代码
  8. 配置计算机系统doc,[计算机系统配置实用程序.doc
  9. AI+药物研发:人工智能赋能新药研发(人工智能应用案例)
  10. [GitHub]一个简单的网络驱动
  11. 【面试题】同学的面经
  12. 23Exchange Server 2010跨站点部署-公网邮箱系统配置及公网记录
  13. linux学习之用户管理篇
  14. 回忆借你的曾经—致我们终将逝去的青春_伤感日志
  15. MySQL必须知道的点
  16. 我的理想,我的奋斗目标
  17. 这十大推广引流渠道,你做了几个?(二)
  18. Java C#分析WAV音频文件1Khz是否有声音
  19. LINUX搜索文件中内容(常用)
  20. 商汤科技2023届校招!AI先锋顶尖人才计划招募重磅启动!

热门文章

  1. Hibernate 中lazy的作用
  2. AspNetPager7.2的基本使用
  3. Python 多版本安装模块
  4. python小练习--模拟用户登录,(3次重试机会,登录成功展示登录账号密码)
  5. Android自带语音播报+讯飞语音播报封装(直接用)
  6. 初学Python——文件操作第二篇
  7. Log4net 用法 本地日志
  8. 转 无损转换Image为Icon
  9. TableView 隐藏多余的分割线
  10. C 这些东西的内存管理