- 关于numpy的常用函数总结
- 1. numpy.linalg.norm
- 2. numpy.flatnonzero
- 3. numpy.squeeze
- 4. np.maximum
- 5. numpy.argsort
- 6. numpy复制并扩充维度
- jupyter notebook小用法总结
- 1. 导出为pdf
- 2. 终止某个正在运行的cell
- 3. %用法
- 4. 三种cell类型
- python
- 1. 匿名函数
- 2. pass 语句
- operands could not be broadcast together with shapes
功能:计算两个向量之间的L2距离(或L2范式)
公式:
∑
p
(
I
p
1
−
I
p
2
)
sqrt{sum_p{(I_p^1-I_p^2)}}
∑p(Ip1−Ip2)
用法:
dist = np.linalg.norm(X[i]-self.X_train[j])
等价于:
dist = np.sqrt(np.sum(np.square(X[i]-self.X_train[j])))2. numpy.flatnonzero
功能:返回输入数组的非0元素的索引
用法:略
功能:对向量进行级联操作
用法:指定向量(以序列形式出现)和维度即可
np.hstack((a,b), 0)4. np.maximum
功能:数组中元素大于0的元素保持不变,其余变为0;相当于是max(a, 0)的操作
用法:
np.maximum(a, 0)5. numpy.argsort
功能:对数组进行排序(升序),然后按照顺序返回索引数组
用法:
avgDists.argsort()[:n] # 取出前n个小的数据的索引 (-avgDists).argsort()[:n] # 逆序排列并取出前n个6. numpy复制并扩充维度
np.expand_dims(a,0).repeat(1000,axis=0)jupyter notebook小用法总结 1. 导出为pdf
如果在浏览器中打开jupyter的话,就会发现将.ipynb文件以很多种形式导出,然而导出为pdf的话经常失败,建议先导出为md文件,然后用Typora打开,再导出为pdf就比较方便了
2. 终止某个正在运行的cell直接点Interrupt符号就可以,之前一直以为这个符号就是中断整个jupyter kernel,所以中断之后会把之前运行过的cell全都重新运行一遍,后来发现不需要
3. %用法功能:行魔法函数,只对本行代码生效(表示不太懂什么叫只对本行代码生效)
用法:
比较常见的就是其中的%matplotlib inline,这样运行后,以后使用plt生成的图片就不会再弹出一个对话框来显示了
- Code(编辑代码,运行后显示代码运行结果)
- Markdown(编写Markdown文档,运行后输出Markdown格式的文档) (从运行状态返回编辑状态,只需要双击)
- Raw NBConvert(普通文本,运行不会输出结果)
lambda arguments: expression
功能:用一行代表一个函数
用法:
double = lambda x: x * 2 print(double(5))
输出:
102. pass 语句
空语句,是为了保持程序结构的完整性。如果定义了某函数,但还没想好该怎么写,就在函数体中加入pass
operands could not be broadcast together with shapesm = x - y # x: (500, 500), y: (500, )
直觉来说,x, y这两个矩阵可以通过广播相减的,但仍然报错operands could not be broadcast together with shapes
只需要:
y = np.expand_dims(y, 1)