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中包含大量的函数,这些函数的设计初衷是能更方便地使用,掌握解这些函数,可以提升自己的工作效率.这些函数包括数组元素的选取和多项式运算等.下面通过实例进行详细了解. 前述通过对某公司股票 ...
随机推荐
- 【LeetCode】885. Spiral Matrix III 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Spring Boot 2 中的默认日志管理与 Logback 配置详解
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...
- css 基础 rgba表示法
color:rgba(); //r表示red 红色 //g表示green 绿色 //b表示blue 蓝色 //a 表示透明度 color:rgb(0,0,0,0) //黑色 color:rgb(255 ...
- python 插入mysql数据库字符串中含有单引号或双引号报错
出现问题场景:使用mysql数据库管理接口测试用例,新增接口用例时,传入的paras内容,有多层嵌套的时候,就会有["]双引号括住[']单引号的情况,可能在插入单双引号的数据到数据库的时候, ...
- VirtualBox 虚拟机怎样设置共享文件夹
首次在VirtualBox装完系统后,很经常用到的操作就是:想将主机的东西拉倒虚拟机进行使用或安装,那怎么将主机的文件拿到虚拟机呢? 1.在虚拟机 > 设置中选择 >安装增强功能,经过这个 ...
- Samba服务器搭建与配置
Samba服务简介Samba的起源:对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议. 但是Linux和Wi ...
- tomcat启动卡在了 At least one JAR was scanned for TLDs yet contained no TLDs 的根本原因与解决办法
1.前言 有时候服务器开启时启动不了,卡在了 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned fo ...
- 解压安装Cacti在apache中的补充
如果你不是安装 Cacti 到 Apache 默认的网络目录文件夹位置,那么在 /etc/httpd/conf.d 中新增配置文件 cacti.conf,并且按如下内容编辑.设置 /your/cact ...
- nuxt中报window is not defined
1.如果是引用插件报错的话,原因是在服务端渲染时找不到window,这样在插件引入位置把ssr设置为false即可. plugins: [ { src: '@/plugins/iview', ssr: ...
- 下载并搭建maven环境
1.下载maven 1.在官网下载maven http://maven.apache.org/download.cgi 2.将下载maven解压.复制路径. 2.搭建maven环境 1.新建M2_H ...
