numpy常用知识点备忘
常用函数
a.max(axis=0)a.max(axis=1)a.argmax(axis=1): 每列的最大值(在行方向找最大值)、每行的最大值(在列方向找对大致)、最大值的坐标sum()求和、mean()平均值、var()方差、std()标准差 : 用法与max类似numpy.random.uniform(low=0,high=1,size)随机浮点数[low, high)。size可以是整数或者元组。默认是1np.tile(a,(1,2)):行上重复1次,列上重复两次。
arr.argsort(): 返回从小到大的序列号,返回值是python的listsorted(iterable, cmp=None, key=None, reverse=False): 对所有可迭代对象排序。保留原对象,返回新的对象。reverse=False表示从小到大list.sort(cmp=None, key=None, reverse=False): 对列表排序,直接对原列表操作operator模块提供的itemgetter函数用于获取对象的哪些维的数据
a = [5,8,2,7,21]
b = operator.itemgetter(0)
b(a)
b = operator.itemgetter(1,0)
b(a)
###
5
(8,5)
- 使用
reload(KNN)更新修改的模块
import importlib
importlib.reload(KNN)
list.extend(list1)和list.append(list1):??????????????????????????python字典的遍历
for i in dict<==>for i in dict.keys(): 按key遍历for value in d.values(): 按值遍历for key,value in d.items(): 按键值对遍历
函数名.变量名用这种方式定义的变量,可以在任意位置访问,但是访问的方式必须是:函数名.变量名。直接访问变量名是无效的。当然必须要在函数执行过后,变量才能生效
def fun():
fun.var1 = 1
fun.var2 = 2
print(fun.var1)
# print(var2) # 报错
fun()
print(fun.var2)
矩阵
eye(n): 创建单位矩阵empty(shape, dtype = float, order = 'C'/'F'): 创建未初始化的数组zeros(shape, dtype=float, order='C'/'F'): 创建全0数组;zeros((2,))和zeros((2,1))是完全不一样的 !!!!!!!!!ones(shape, dtype=float, order='C'/'F'): 创建全1数组full(shape, num): 创建形状为shape的数组,用num填充ndarray arange(start=0, stop, step=1, dtype): 等差数组。arange(stop)表示[0,stop);arange(start,stop)表示[start, stop);arange(start, stop, step)表示步长。
运算
+ - * / % **n : 矩阵的对应位置元素的加、减、乘、除、取余、n次方
- 矩阵乘法(二维数组时是当成矩阵乘法; 一维数组时计算的是内积,返回一个数值而不是数组):
a.dot(b) - 矩阵转置:
a.transpose()或者a.T - 矩阵求逆:
np.linalg.pinv(a)或者a.I - 矩阵除法:
np.linalg.solve(matA, matB)
随机数
np.random.uniform
np.random.uniform(low=0.0, high=1.0, size=None)
默认返回0~1之间的float随机数
- low、high:float,可以是数组类型
- size: int, 数字n表示n的随机数; 元组shape表示形状为shape的矩阵
np.random.random && np.random.random_sample
np.random.random(size)
返回0~1之间的float随机数,size指定形状
np.random.rand
np.random.rand(d0, d1, …, dn)
默认返回0~1之间的float随机数,参数表示矩阵的维度,没有参数就返回随机数
numpy.random.randn(d0, d1, ..., dn)
numpy.random.randn(d0, d1, ..., dn)
返回标准正太分布(均值为0,方差为1)。默认返回一个flaot随机数
numpy.random.normal(loc=0.0, scale=1.0, size=None)
numpy.random.normal(loc=0.0, scale=1.0, size=None)
返回一个由size指定形状的数组,数组中的值服从 μ=loc,σ=scale 的正态分布。默认返回一个随机数
randint()
randint(low, high=None, size=None, dtype=’l’)
返回整型随机数,low和high表示范围,如果不指定high,则返回0~low之间的随机数,size指定矩阵形状,dtpe可选int和int32
shuffle() 和 permutation()
都是打乱数组的顺序,但是,shuffle()会改变原来数组的顺序,而permutation()返回一个新对象
- shuffle(list): 可以是list或者二维数组。按照第一个索引洗牌
- permutation(x): x整数时,返回一个不大于x的随机排列的数组(就是从0~x,随机排列),当X是list时,跟shuffle一样
Tips
- 列表使用前需初始化,直接给不存在的数组赋值会报错:
data[0] = 1 dict.keys()[0]会报错,必须使用list()转型 ==>list(dict.keys())[0]np.log(矩阵)表示对矩阵中的所有元素计算对数,但是,math.log(矩阵)会报错,报错信息如下:
TypeError: only size-1 arrays can be converted to Python scalars
a = range(1, 26); del a[0]a是range对象,可以访问,但是不可以删除。可以转型之后再使用a = list(range(1, 26))- 不可以一边用for循环遍历list一边删除list中的元素!!!!!!!!! ,他会一边删除,一边跳,根本删不完。。。正确操作是 使用while删除元素:
i = 0
while i < len(wordList):
if wordList[i] in stopwordList:
del wordList[i]
else:
i += 1
zip()将多个list打包成元组列表。用在for里非常方便
a = [1,2,3,4]
b = [2,3,4,5,6]
c = [4,5,6,7,8,9]
ziped = zip(a,b,c)
for a,b,c in ziped:
print (a, b, c)
assert condition "promot"断言,当condition为False时会报异常,同时给出prompt作为提示a[a<6]似乎可以返回所有满足条件的索引,然后把所有满足条件的元素返回
a = np.array([1,2,3,4,5,6,7,8])
b = np.array([2,3,4,4,4,4,4,4,4,4,5,6,7,8,9])
a = a[ b < 6 ]
- 对于
(1, )与(1,1)的差别:a = np.array([1]) # (1, )
b = np.array([[1]]) # (1,1)
报错
operands could not be broadcast together with shapes (100000,) (100000,2)
出现维度错误,一般是由于矩阵乘法导致的。很坑的地方在于,下面两个矩阵竟然是可以乘的
a = np.arange(start=1, stop = 5, step=1)
b = np.arange(start=1, stop = 3, step=1)
b = b.reshape((2,1))
print(a.shape, " ", b.shape)
print(a * b)
(4,) (2, 1)
[[1 2 3 4]
[2 4 6 8]]
TODO
- python集合运算
- python正则表达式
- 正态分布
numpy常用知识点备忘的更多相关文章
- numpy常用知识点备忘(2)
x.ravel() 和 x.flatten() : 将多为数组降维到1维.ravel()返回元素的引用(对象不一样,但是元素是引用),flatten()返回新的元素. np.meshgrid(x, y ...
- metasploit 常用命令备忘
metasploit 常用命令备忘 MSFconsole Commands-------------------------------------24show exploits 查看所有exp ...
- Linux基础之常用基本命令备忘
Linux基础之常用基本命令备忘 PWD 查询当前所在Linux上的位置 / 根目录 CD(change directory)切换目录 语法 CD /(注意添加空格) LS ...
- Webstorm常用快捷键备忘(Webstorm入门指南)
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为“Web前端开发神器”.“最强大的HTML5编辑器”.“最智能的JavaSscript IDE ...
- sublime 常用快捷键备忘
转一篇sublime常用的快捷键备忘 sublime常用快捷键 选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本.Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本 ...
- Webstorm常用快捷键备忘
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为“Web前端开发神器”.“最强大的HTML5编辑器”.“最智能的JavaSscript IDE ...
- Axure常用操作备忘
目录 前言 技巧 边框重合 复制对象文本居中 复制粘贴样式 文本自适应 给图形添加连接点 导出图片无空白 前言 下面列出Axure画图过程中曾经遇到过的问题,备忘一下,避免别人也走弯路,法布施一下~ ...
- CentOS常用命令备忘
1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...
- TF版网络模型搭建常用代码备忘
本文主要介绍如何搭建一个网络并训练 最近,我在写代码时经常碰到这样的情况,明明记得代码应该怎么写,在写出来的代码调试时,总是有些小错误.原因不是接口参数个数不对,就是位置不对.为了节约上网查找时间,现 ...
随机推荐
- Mybatis介绍、使用IDEA快速入门
1. Mybatis概念 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发 JavaEE三层架构:表现层.业务层.持久层 JDBC 与 MyBatis 对比: MyBatis 本是 A ...
- Vue3 Transition 过渡效果之基于 CSS 过渡
介绍 Transistion 路由组件的切换.动态组件的切换.v-if 条件渲染组件以及 v-show 显示组件原本是没有任何过渡(CSS 动画)效果的.然而,Vue 的内置组件<Transit ...
- 线性代数 | Jordan 标准型的笔记
内容概述: 把方阵 A 的特征多项式 \(c(λ)=|λE-A|\) 展开成 \(c(λ)=\sum_ia_i\lambda^i\) 的形式,然后使用神乎其技的证明,得到 \(c(A)=O\),特征多 ...
- Android 自动取色并设置沉浸式状态栏
Android 自动取色并设置沉浸式状态栏 - Stars-One的杂货小窝 最近在进行产品的优化,也是研究了下沉浸式状态栏的实现方法及自动取色,记录一下笔记 设置沉浸式状态栏 1.添加依赖 这里,是 ...
- 「学习笔记」单调队列优化dp
目录 算法 例题 最大子段和 题意 思路 代码 修剪草坪 题意 思路 代码 瑰丽华尔兹 题意 思路 代码 股票交易 题意 思路 代码 算法 使用单调队列优化dp 废话 对与一些dp的转移方程,我们可以 ...
- OpenJudge1.5.17 菲波那契数列
17:菲波那契数列 总时间限制: 1000ms 内存限制: 65536kB 描述 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和. 给出一个正整数k,要求 ...
- 在 C# CLR 中学习 C++ 之了解 extern
一:背景 在 CLR 源码中有很多的 extern 和 extern "C" 这样的关键词,比如下面这些代码: extern size_t gc_global_mechanisms ...
- flutter系列之:flutter中常用的GridView layout详解
目录 简介 GridView详解 GridView的构造函数 GridView的使用 总结 简介 GridView是一个网格化的布局,如果在填充的过程中子组件超出了展示的范围的时候,那么GridVie ...
- VMware Component Manager服务无法启动
近日,给一台Windows 2016上的vCenter打补丁,系统重启后,发现vmware的很多服务无法启动了.这是一台老版本的vcenter,虽然已经2021年了,但是它还管理着一些很老的ESX,比 ...
- Dapr 证书过期了怎么办? 别慌,有救!
一.背景 Dapr 默认证书有效时间是1年,证书过期后就不能执行相关控制面和数据面的交互了,如下图: 二.查看证书有效时间 通过dapr mtls expiry 看到期时间,具体参见命令https:/ ...