# 检查图像的宽高 np.testing.assert_equal((LENA_Y, LENA_X), lena.shape) # 设置调整系数,水平 3,竖直 2 yfactor = 2 xfactor...花式索引 # 这个代码通过将数组对角线上的元素设为 0 ,来展示花式索引 # 花式索引就是使用数组作为索引来索引另一个数组 # 来源:NumPy Cookbook 2e Ch2.6 import scipy.misc...0 ~ height - 1 的数组 lena[range(height), range(width - 1, -1, -1)] = 0 # 画出带对角线的 Lena 图像 plt.imshow(lena...将位置列表用于索引 # 这个代码的目的就是把 Lena 图像弄花 # 来源:NumPy Cookbook 2e Ch2.7 import scipy.misc import matplotlib.pyplot...,x 值是数据的下标 plt.subplot(2, 1, 1) plt.title("Original") plt.plot(data) # 使音频更安静 # 数组广播的意思是,两个数组进行运算时
本文主要是关于numpy的一些基本运算的用法。 #!.../usr/bin/env python # _*_ coding: utf-8 _*_ import numpy as np # Test 1 # 一维矩阵 a = np.arange(3, 15)...print a # 输出矩阵的第三个元素 print a[2] # Test 1 result [ 3 4 5 6 7 8 9 10 11 12 13 14] 5 # Test 2 #...二维矩阵 a = np.arange(3, 15).reshape(3, 4) print a # 输出矩阵的第二行 print a[1] # 输出矩阵的第一个元素 print a[0][0] # 输出矩阵某个位置上的元素...print a[2][1] print a[2, 1] # 输出矩阵第三行的所有数字 # :代表整行或整列 print a[2, :] # 输出矩阵第二行的前三个数,左开右闭 print a[1, 0
np.random.random_integers(0, 7, 9) print(a) # [3 2 7 7 4 2 1 4 3] # partition 仅仅排序所选位置 # 也就是说 a 中下标为 4 的元素在排序后的位置...) estimates = np.zeros((len(a), 3)) # nanmean nanvar 和 nanstd 可以用于计算 # 排除 NaN 值的均值、方差和标准差 for i in...(5, 0.5) N = 400 np.random.seed(28) data = np.random.binomial(5, .5, size=N) # 从随机数中随机取 400x30 个值...means = bootstrapped.mean(axis=0) # 绘制盒图(包含最大值、最小值、中位数、两个四分位数) plt.title('Bootstrapping demo') plt.grid...datetime64 类型 import numpy as np # 由年月日构造 print(np.datetime64('2015-05-21')) # numpy.datetime64('2015
利用 Python 原生的功能,创建一个二维的 list,变量名称为 x ,其 shape 为 (3,1) In [3]: x = [[3],[1],[4]]In [15]: xOut[15]: [[3...接下来,分别比较它们各自的对应元素,如果 x[i][j] < y[i][j] ,则选择 x[i][j] ,并加 1, 否则,选择 y[i][j], 并减 1,并返回一个对应维度的二维 list....如果使用 Numpy 中的函数,可能只需要 1 行, In [33]: np.where(np.array(x)<np.array(y),np.array(x)+1,np.array(y)-1)...,x , y 和 condition 需要是可广播的,并最终传播为某种 shape....之所以,从文章开头到后面大部分篇幅,都在使用 Python 原生的功能实现与 Numpy 同样的效果,就是为了更好的说明 Numpy 的传播机制。 通过对比,或许更容易明白 Numpy 的传播机制。
花哨的索引探索花哨的索引组合索引Example:选择随机点利用花哨索引修改值数组排序Numpy中的快速排序:np.sort,np.argsort部分排序:分割 花哨的索引 花哨的索引和前面那些简单的索引非常类似...花哨的索引让我们能够快速获得并修改复杂的数组值的子数据集。 探索花哨的索引 花哨的索引在概念上非常简单, 它意味着传递一个索引数组来一次性获得多个数组元素。...在花哨的索引中, 索引值的配对遵循广播的规则。...例如, 假设我们有一个索引数组, 并且希望设置数组中对应的值: x = np.arange() i = np.array([, , , ]) x[i] = print(x) [...你可能期望 x[3] 的值为 2, x[4] 的值为 3, 因为这是这些索引值重复的次数。但是为什么结果不同于我们的预想呢?
numpy中数组的索引非常灵活且强大,基本的操作技巧有以下几种 1....a[:, 1] array([1, 4, 7]) 二维数组的切片不能用两个中括号的写法,因为切片的返回值和原始数组维度相同,第一步切片提取出来之后任然是二维数组 >>> a = numpy.arange...花式索引 花式索引,本质是根据下标的集合,即索引数组来提取子集,与切片的区别在于,花式索引可以提取非连续的元素,用法如下 >>> a = numpy.arange(6) >>> a array([0,...1, 2, 3, 4, 5]) >>> a[[1, 2, 5]] array([1, 2, 5]) # 返回值总是和索引数组的维度相同 >>> a[numpy.array([(0, 1, 3),(1,...,所以也要注意返回值的维度问题。
前言 Numpy中对数组索引的方式有很多(为了方便介绍文中的数组如不加特殊说明指的都是Numpy中的ndarry数组),比如: 基本索引:通过单个整数值来索引数组 import numpy as np...花式索引根据索引整型数组的值作为目标数组的某个轴的下标来取值。...[0]以及arr[2]进行索引的元素值是一致的。...,所以要求整数数组中的元素值不能超过对应待索引数组的最大索引。...c 花式索引的维度问题? 到目前为止我们只关注索引的值,而忽视了最终索引后的维度变化。首先来看下面的例子,依然是上面的形状为(3, 4)表示3名学生的4课成绩的二维数组。
# 来源:NumPy Essentials ch5 矩阵 import numpy as np ndArray = np.arange(9).reshape(3,3) # matrix 可以从...# https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors # w 为特征值,v 的列向量为特征向量 w, v = np.linalg.eig...(array([ 1., 1.]), array([[0.70710678, 0.707106], [0.70710678, 0.70710757]])) ''' # 奇异值分解可以看做特征值分解的扩展...是 min(m,n) 阶奇异值的对角阵,奇异值是 A A^T 和 A^T A 的特征值平方根 # v 是 min(m,n)xn 矩阵,列向量为右奇异向量,也就是 A^T A 的特征向量 np.set_printoptions...]) # polyval 计算多项式的值 # 接受多项式系数和 x 值 np.polyval([1,-10,35,-50,24], 5) # 24 coef = np.array([1,-10,35
# 来源:NumPy Essentials ch6 绘图函数 import matplotlib.pyplot as plt import numpy as np def show(ori_func...# 将其与频率为 20 和 60 的波叠加起来 x2 = np.sin(2 * np.pi * 20 * time) x3 = np.sin(2 * np.pi * 60 * time) x +=...# 生成方波,振幅是 1,频率为 10Hz # 我们的间隔是 0.05s,每秒有 200 个点 # 所以需要每隔 20 个点设为 1 x = np.zeros(len(time)) x[::20] =...# 创建 10 个 0~9 随机整数的信号 a = np.random.randint(10, size = 10) a # array([7, 4, 9, 9, 6, 9, 2, 6, 8, 3]...A[0] / 10 # (6.2999999999999998+0j) A[int(10 / 2)] # (1-2.4424906541753444e-15j) # A[0] 是 0 频率的项
本文针对scipy和numpy这两个python库的插值算法接口,来看下两者的不同实现方案。 插值算法 常用的插值算法比如线性插值,原理非常简单。...如下图所示就是三种不同的边界条件取法(图片来自于参考链接3): 接下来看下scipy中的线性插值和三次样条插值的接口调用方式,以及numpy中实现的线性插值的调用方式(numpy中未实现三次样条插值算法...'],loc='best') plt.savefig('_interpolate.png') 得到的结果如下图所示: 在这个结果中我们发现,numpy的线性插值和scipy的线性插值所得到的结果是一样的...总结概要 线性插值和三次样条插值都是非常常用的插值算法,使用插值法,可以帮助我们对离散的样本信息进行扩展,得到样本信息中所不包含的样本点的信息。...在python的scipy这个库中实现了线性插值算法和三次样条插值算法,而numpy库中实现了线性插值的算法,我们通过这两者的不同使用方式,来看下所得到的插值的结果。
,我们创建的索引并没有指定索引字段T不能为空,所以如果CBO选择在索引上做COUNT,当索引字段上有空值时,COUNT的结果必然不准确。...,这个动作相当于COUNT索引上的所有id的键值,这个结果和对表上id字段做COUNT是一样的。...如果是唯一性索引,则count(*)==count(索引字段)。 如果不是非唯一索引,则列中NULL值不会存入索引,因此count(*)>=count(索引字段)。...大表对id字段count,不带hint,是INDEX FAST FULL SCAN,对id字段count带hint,是INDEX FULL SCAN。...(这里我感觉不带hint,CBO还能选择FFS的方式可能更优,但如果带了hint,则强制使用并不最优的FS)。
当创建索引带来的好处多过于消耗的时候,才是最优的选择~ # 查看索引 show index from quickchat_user_additional; 索引的类型 (具体设置在Navicat中添加即可...) 主键索引 PRIMARY KEY 它是一种特殊的唯一索引,(设置了主键底层就自动设置)了,不允许有空值。...一般是在建表的时候同时创建主键索引。 唯一索引 UNIQUE 唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。可以在创建 表的时候指定,也可以修改表结构。...所谓Hash索引,实际上就是通过一定的Hash算法,将需要索引的键 值进行Hash运算,然后将得到的Hash值存入一个Hash表中。...; Hash索引遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高; 关于索引的一些个人理解 索引这个东西在InnerDB中,是单独存储的。
# 来源:NumPy Beginner's Guide 2e ch4 交易相关偶对 import numpy as np from matplotlib.pyplot import plot from...多项式拟合 import numpy as np import sys from matplotlib.pyplot import plot from matplotlib.pyplot import...Polynomial fit [ 1.11655581e-03 -5.28581762e-02 5.80684638e-01 5.79791202e+01] # polyval 使用拟合结果来预测新的值...(可能)是极值 print "Extremas", np.roots(der) # Extremas [ 24.47820054 7.08205278] # 拟合函数的最大值和最小值点 vals...-3632200.] ''' 使用向量化来避免循环 # 向量化就是逐元素调用函数 import numpy as np import sys # 获取开盘价、最高价、最低价和收盘价 o, h,
在C++中,允许在自定义函数的形参列表中,给形参一个默认的值,这样子在调用的时候如果有实参,那么按照实参传递给形参的方法调用;没有指定对应的实参,那么形参将使用默认值。...return a+b; } int main() { cout<<add(10,20)<<endl;//将10和20分别给a和b cout<<add(30)<<endl;//将30给a,b为默认的5...cout<<add()<<endl;//使用a、b的默认值3和5 return 0; } 注意:由于参数的传递顺序是从右至左入栈,所以有默认值的参数都必须放在形参的最右边。
效果大概就是这样,右边是字母索引效果 做开发的时候,经常碰到产品经理设计出来的界面是参考IOS控件设计出来的 ,比如上图效果 ios有个控件是UIPickerView 就是可以上下滑动 并有些3d...但是android并没有提供这样的原生控件支持,所以需要通过其他方式实现类似效果。上图就是我开发中用到的一个效果。...的中心位置,一直不变 */ private int mCurrentSelected; private Paint mPaint; private float mMaxTextSize =...,y值是text中心坐标 float x = (float) (mViewWidth / 2.0); float y = (float) (mViewHeight / 2.0 + mMoveLen...另外右边是个字母索引条。想必大家都做过,就不一一粘贴代码了。我将这个整理出来一个demo。
np.array([[1,2,100,4,5,6],[1,1,100,3,5,5],[2,2,4,4,6,6]]) 方法一: count = np.bincount(arr[:,2]) # 找出第3列最频繁出现的值
# 来源:NumPy Cookbook 2e Ch10 加载示例数据集 from __future__ import print_function from sklearn import datasets...用于加载不同的数据集 print filter(lambda s: s.startswith('load_'), dir(datasets)) ''' ['load_boston', 'load_breast_cancer...= np.sum(logreturns ** 2, axis=1) # np.dot(logreturns, logreturns.T) 的矩阵 # 每项是 logret[i] · logret[j]...(logreturns, logreturns.T) # 使用 AP 算法进行聚类 # AffinityPropagation 用于创建聚类器 # 向 fit 传入距离矩阵可以对其聚类 # 用于聚类的属性是每个向量到其它向量的距离...in Cluster 7 使用 statsmodels 执行正态性测试 from __future__ import print_function import datetime import numpy
有些同学可能没用过这个SckyListHeadersListView 先发个效果图,图片是从别的地方拷贝过来的 以下的几个类 直接拷贝到项目中 备用。...final static class ViewHolder { TextView tvTitle; } /** * 根据ListView的当前位置获取分类的首字母的...Char ascii值 */ public int getSectionForPosition(int position) { return mList.get(position...).getSortLetter().charAt(0); } /** * 根据分类的首字母的Char ascii值获取其第一次出现该首字母的位置 */ public...*b数组的长度就等于点击b中的个数.
所谓唯一索引,就是在创建索引时,限制索引的值必须是唯一的。通过该类型的索引可以更快速地查询某条记录。 普通索引还是唯一索引?...我们以中的例子来说明,假设字段k上的值都不重复。 InnoDB的索引组织结构 接下来,我们就从这两种索引对查询语句和更新语句的性能影响来进行分析。...change buffer的大小,可以通过参数innodb_change_buffer_max_size来动态设置。...这个参数设置为50的时候,表示change buffer的大小最多只能占用buffer pool的50%。...如图所示是带change buffer的更新状态图。
领取专属 10元无门槛券
手把手带您无忧上云