numpy常用函数记录
np.square()
函数返回一个新数组,该数组的元素值为源数组元素的平方。 源阵列保持不变。
示例:
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6]])
b = np.square(a)
print(a)
print(b)

np.linalg.norm()
linalg = linear(线性) + algebra(代数), norm表示范数
x_norm = np.linalg.norm(x, ord=None, axis=None, keepdims=False)
- x代表矩阵,可以是一维
- axis=0,按列向量处理,求多个列向量的范数;axis=1,按行向量处理,求多个行向量的范数
- ord矩阵的范数
ord常用参数 当x是向量时
| 参数 | 说明 | 计算方法 |
|---|---|---|
| 默认 | 二范数 | \(\sqrt{x_1^2 + x_2^2+ ...+x_n^2}\) |
| ord=2 | 同上 | 同上 |
| ord=1 | 一范数 | $ |
| ord="fro" | Frobenius范数:其值为对所有元素的绝对值的平方求和后开平方。 | ![]() |
ord常用参数 当x是矩阵时
| 参数 | 计算方法 |
|---|---|
| ord=1 | 列和的最大值 |
| ord=2 | 求特征值,然后求最大特征值得算术平方根 |
注意,当x是矩阵时,参数axis才有意义
示例:
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6]])
x1 = np.linalg.norm(a, ord=2)
x2 = np.linalg.norm(a, ord=1)
x3 = np.linalg.norm(a, ord=2, axis=1)
print(x1)
print(x2)
print(x3)

np.martix()
自带广播功能
import numpy as np
M = np.array([[1, 2, 3],
[4, 5, 6]])
test = np.array([[1, 2, 3],
[1, 2, 2]])
train = np.array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
te = np.square(test).sum(axis=1)
tr = np.square(train).sum(axis=1)
te = te.reshape(te.shape[0], -1)
print("te:", te)
print("tr:", tr)
dists = M + np.matrix(tr) + np.matrix(te)
print(dists)

各变量的变化情况:

np.array_split(x, n)
将矩阵x切割为七部分
import numpy as np
x = np.arange(25)
y = np.array_split(x, 7)
print(type(y))
print(y)

返回了一个列表
np.concatenate(x, axis=?)
import numpy as np
x = np.arange(25)
print(x)
y = np.array_split(x, 7)
print(y)
print(np.concatenate(y))

axis = 0 列方向对齐
axis = 1 行方向对齐
np.square()
沿着水平方向将数组堆叠起来。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
res = np.hstack((arr1, arr2))
print(res)
arr1 = np.array([[1, 2], [3, 4], [5, 6]])
arr2 = np.array([[7, 8], [9, 0], [0, 1]])
res = np.hstack((arr1, arr2))
print(res)

np.eye()
import numpy as np
labels = np.array([[1, 3],[2, 3],[0, 2],[1, 3]])
print(labels.shape)
print(labels, "\n\n**********\n")
x = np.eye(5)[labels]
print(x)
print(x.shape)

大概这样理解,先生成一个shape为(4,2,5)的矩阵,意思就是4个2*5的矩阵.然后对某些地方的值赋1,什么地方那?也就是labels提供的位置
np.where
详见:https://www.cnblogs.com/massquantity/p/8908859.html
numpy常用函数记录的更多相关文章
- numpy常用函数学习
目录numpy常用函数学习点乘法线型预测线性拟合裁剪.压缩和累乘相关性多项式拟合提取符号数组杂项点乘法该方法为数学方法,但是在numpy使用的时候略坑.numpy的点乘为a.dot(b)或numpy. ...
- 《ORACLE数据库管理与开发》第三章学习之常用函数记录
<ORACLE数据库管理与开发>第三章学习之常用函数记录 注:文章中的*代表所要操作的列名 1.lower(*)/upper(*),将此列下的值转为小写/大写 2.initcap(*):把 ...
- numpy学习笔记 - numpy常用函数、向量化操作及基本数学统计方法
# -*- coding: utf-8 -*-"""主要记录代码,相关说明采用注释形势,供日常总结.查阅使用,不定时更新.Created on Fri Aug 24 19 ...
- 006 numpy常用函数
属于Numpy的函数. 一:通用函数 1.说明 是一种对ndarray中的数据执行元素级运算的函数. 2.一元函数 3.二元函数 二:矢量计算 1.numpy.where 主要有两种用法 np.whe ...
- Python常用函数记录
Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...
- Python数据分析--Numpy常用函数介绍(2)
摘要:本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. ...
- Numpy常用函数用法大全
.ndim :维度.shape :各维度的尺度 (2,5).size :元素的个数 10.dtype :元素的类型 dtype(‘int32’).itemsize :每个元素的大小,以字节为单位 ,每 ...
- Python数据分析--Numpy常用函数介绍(4)--Numpy中的线性关系和数据修剪压缩
摘要:总结股票均线计算原理--线性关系,也是以后大数据处理的基础之一,NumPy的 linalg 包是专门用于线性代数计算的.作一个假设,就是一个价格可以根据N个之前的价格利用线性模型计算得出. 前一 ...
- Python数据分析--Numpy常用函数介绍(5)--Numpy中的相关性函数
摘要:NumPy中包含大量的函数,这些函数的设计初衷是能更方便地使用,掌握解这些函数,可以提升自己的工作效率.这些函数包括数组元素的选取和多项式运算等.下面通过实例进行详细了解. 前述通过对某公司股票 ...
随机推荐
- Python实现北邮人论坛模拟登录
推荐去我的博客里查看这篇文章,效果更佳: http://fuxuemingzhu.cn/2017/08/12/byrbbs-login/ 模拟登录北邮人论坛可能是每个学着写爬虫的北邮人必备技能了.在网 ...
- Another kind of Fibonacci(hdu3306)
Another kind of Fibonacci Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- Docker&K8S学习笔记(一)—— Docker安装
最近一年在工作上经常使用Docker与K8S,除了利用其打镜像,部署服务外,还基于Docker与K8S开发了一套CICD流水线平台,为了加深相关知识点的理解,所以从今天开始会定期更新学习笔记,本套学习 ...
- Chapter 9 Measurement Bias
目录 9.1 Measurement Error The structure of measurement error 9.3 Mismeasured confounders 9.4 Intentio ...
- 替代瑞昱RTD2166|pin对pin替代RTD2166|CS5202芯片
替代瑞昱RTD2166,pin对pin替代RTD2166,外围器件少,设计版框尺寸小,整套方案成本BOM更低. 一. CS5202功能概述 CS5202是一款DP端口到VGA转换器,它结合了DP输入 ...
- Eclipse+Maven+JDK+tomcat搭建java的开发环境
由于最近有几个同事都在学习java方面的东西,所以我写个博文做下笔记,其中遇到过很多个坑,这里就不多说了 首先,我用的是Eclipse+Maven的组合,用Ecplise是周边java开发的同事用这个 ...
- python 使用exec执行定义好的方法,提示“name 'XXX' is not defined”
文件A中的exec(),调到了文件B中的方法,提示name is not defined exec()调用时,提示方法没有定义 试过了的方法: 1.百度上说是局部变量或者是全局变量之间的文件,然后在e ...
- Linux下校验SHA1和MD5的方法
当我们从互联网下载东西或者从U盘拷贝东西的时候,通常是不会和源文件有什么区别的,但是在偶然的情况下会出现下载或者拷贝出错的情况, 尤其是在下载大文件的时候,比如系统光盘......当你装机到一半才发现 ...
- 关于 用 js 实现 快照功能
1.前言 前段时间有个需求,想要 打印一个小票凭证 ,实现这个功能,我首先想到了快照, 就是将数据内容排版好,然后截图或者用其他方式将内容 制作成图片 ,然后下载下来打印即可. 2.探讨 为何不直接以 ...
- centos7 系统正则符号
点符号 . 匹配任意一个字符,且只有一个字符 星符号 * 匹配任意0和或多个以上连续的字符 扩展符号 括号符号[] 匹配括号出现的字符信息 [^abc] --表示排除含有abc字符的内容,是单个字符a ...
