numpy
patrickpdx
目前为研究生
展开
-
矩阵的C++实现
由于C++中没有numpy, 所以自己编写了一个class以实现矩阵。原创 2023-04-04 17:17:36 · 679 阅读 · 0 评论 -
改变ndarray的dtype, type: ndarray.view
ndarray.view([dtype][, type])官方文档不改变数据域,设置dtype和type,返回更改后的数组dtype: data-type or ndarray sub-class, optional数据的类型, e.g., float32 or int16. 如果被传参数则保持不变type:Python type, optional数组的type属性, e.g., ndarray or matrix. 如果没有被传参数则保持不变示例:>>>x = np.a原创 2021-10-16 11:00:41 · 1288 阅读 · 0 评论 -
巧用numpy.all()函数判断矩阵是否包含某一行或列
【代码】巧用numpy.all()函数判断矩阵是否包含某一行或列。原创 2021-09-11 10:56:40 · 2619 阅读 · 0 评论 -
python中如何运算分数
Python中运算分数需要使用Fractions库数学中的分数在Python中可以用Fraction类来表示class fractions.Fraction(numerator=0, denominator=1)例如分数12\frac{1}{2}21,可以表示为:Fraction(1,2)示例:计算分数的平均数,结果依然用分数表示:from Fractions import Fraction as Fmean([F(3,7),F(1,21),F(5,3),F(1,3)])Fracti原创 2021-08-07 22:35:27 · 3264 阅读 · 0 评论 -
numpy 数组和 list在追加(append)元素操作上的区别
在列表后追加元素,一个常见的错误如下:a=[1,2,3]a=a.append(5)结果是空,由此可见list调用自身的method,返回值是None,而自身发生变化应该改为a.append(5)而在numpy中,a=np.array([[1,2,3],[4,5,6]])a.flatten()Out[10]: array([1, 2, 3, 4, 5, 6])aOut[11]: array([[1, 2, 3], [4, 5, 6]])由此可见,numpy数组调用原创 2021-07-29 00:11:25 · 2765 阅读 · 0 评论 -
python中range类的基本操作小结
len(range(a,b))原创 2021-04-20 17:32:31 · 518 阅读 · 0 评论 -
numpy中的元素替换(相当于numpy.place)
举例:把数组a中值为2的元素替换为888import numpy as npa=np.array([[1,2,3,4],[2,2,5,6]]);a[np.where(a==2)]=888替换之前为array([[1, 2, 3, 4],[2, 2, 5, 6]])替换之后为array([[ 1, 888, 3, 4], [888, 888, 5, 6]])...原创 2021-03-13 17:27:12 · 5218 阅读 · 0 评论 -
Numpy 中的 mask
定义 若a是一个numpy数组,和它shape相同bool型的numpy数组称为a的一个maska[mask]输出的是一个一维数组,它是由满足如下的元素构成mask为True的位置在a中对应的元素举个例子import numpy as npa=np.array([[1,2],[3,4]])mask=a>1print(a[mask])结果为: array([2, 3, 4])...原创 2021-03-13 17:21:32 · 2649 阅读 · 0 评论 -
numpy判断一个数是否在数组内 numpy.isin
numpy.isin(element, test_elements)详细用法请见官方文档依次检查element中的元素是否在test_elements里面举例:>>> element = 2*np.arange(4).reshape((2, 2))>>> elementarray([[0, 2], [4, 6]])>>> test_elements = [1, 2, 4, 8]>>> mask = np.i原创 2021-03-13 17:12:44 · 4898 阅读 · 0 评论 -
numpy 查找元素位置 numpy.where
numpy.where(condition,x,y)详细用法请大家详见官方文档这里举几个例子import numpy as npa=np.array([1,2,3,4,5])print(np.where(a<3))#查找小于3的元素的位置结果(array([0, 1], dtype=int64),)注意输入的数组必须是numpy数组,list是不支持的二维数组的例子>>> x = np.arange(9.).reshape(3, 3)>>>原创 2021-03-13 17:06:34 · 37969 阅读 · 0 评论 -
numpy array可以给多个变量赋值
示例x=np.array([1,2,3])x1,x2,x3=x原创 2020-12-11 21:25:50 · 1402 阅读 · 0 评论 -
判断numpy的array是否为空
numpy的array不能用以下方式判断是否为空def get_distance(Location1,Location2=None): if Location2==None: Location2=np.zeros(Location1.size) return np.linalg.norm(Location1-Location2); m=np.array([10,12,68])n=np.zeros(3)get_distance(m)get_distance(原创 2020-12-11 17:00:18 · 6727 阅读 · 0 评论 -
numpy字符串处理
字符串拼接numpy.char.add(x1, x2)Return element-wise string concatenation for two arrays of str or unicode.把x1和x2拼接在一起>>>import numpy as np>>>np.char.add("aaa","bbb")array('aaabbb', dtype='<U6')>>>np.char.add(["aaa"],["bbb"]原创 2020-12-10 20:25:13 · 3177 阅读 · 0 评论 -
numpy中矩阵的翻转(flip)
flip函数简介原创 2020-01-18 20:39:14 · 46074 阅读 · 0 评论 -
注意:python坐标索引区间不包括终点
例如import numpy as npa=np.arange(1,11,1)打印aarray([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])a[0:5]打印输出array([1, 2, 3, 4, 5])并不包括a[5]原创 2020-12-01 14:03:37 · 324 阅读 · 0 评论 -
numpy中axis的含义
下面我们直观地解释axis的含义:矩阵可以看成2维数组,因此这里以n×nn\times nn×n的2维ndarray数组a为例回顾多维数组的相关知识,我们通过a[s][t]a[s][t]a[s][t]来访问多维数组中坐标为(s,t)(s,t)(s,t)的元素,其中第1个"[]“表示为第0个维度,记作axis=0,其中第2个”[]"表示第1个维度,记作axis=1. m和n分别是第0和1个维度上的坐标.在函数中指定axis是什么意思?axis=0,表示a沿着axis=0进行"切片",即得到一系列1×n原创 2020-12-01 09:46:32 · 619 阅读 · 0 评论 -
numpy矩阵翻转fliplr和flipud
fliplr(m)Flip array in the left/right direction.>>> A = np.diag([1.,2.,3.])>>> Aarray([[1., 0., 0.],[0., 2., 0.],[0., 0., 3.]])>>> np.fliplr(A)array([[0., 0., 1.],[0., 2., 0.],[3., 0., 0.]])flipud(m)Flip array in the原创 2020-11-30 14:59:16 · 454 阅读 · 0 评论 -
numpy生成等差等比数列
文章目录arangelinspacelogspacearangeimport numpy as npa=np.arange(1,10,2)结果aOut[3]: array([1, 3, 5, 7, 9])linspacenumpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)参数意义start [array_like] 数列的起点.stop [array_like]原创 2020-11-30 14:32:46 · 9824 阅读 · 3 评论 -
numpy 数组元素的拼接(append)
接上一期博客numpy 矩阵元素的拼接(concatenate)numpy.append(arr, values, axis=None)官方文档示例Examples>>>np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]])array([1, 2, 3, ..., 7, 8, 9])When axis is specified, values must have the correct shape.>>>np.appe原创 2020-08-06 13:44:27 · 2317 阅读 · 0 评论 -
numpy求模/绝对值函数absolute
numpy中absolute函数的用法原创 2020-08-06 13:16:23 · 19685 阅读 · 0 评论 -
Scipy优化scipy.optimize.minimize
scipy,optimize.minimize原创 2020-08-03 23:56:40 · 4509 阅读 · 0 评论 -
numpy中元素的重复numpy.repeat
numpy.repeat(a, repeats, axis=None)[source]官方文档a:输入矩阵repeats:元素重复的次数axis:在哪个axis上重复,如把每一行重复若干次就置axis=0,把每一列重复若干次就置axis=1示例>>> np.repeat(3, 4)array([3, 3, 3, 3])>>> x = np.array([[1,2],[3,4]])>>> np.repeat(x, 2)array([1,原创 2020-08-01 14:07:56 · 2990 阅读 · 0 评论 -
numpy.zeros_like和numpy.ones_like
生成一个和原来的array形状相同,但是是用0或1填充的arraynumpy.zeros_like参考文档numpy.ones_like参考文档>>> import numpy as np>>> x = np.arange(6).reshape(3,2)>>> xarray([[0, 1], [2, 3], [4, 5]])>>> np.zeros_like(x)array([[0, 0],原创 2020-07-23 16:50:57 · 449 阅读 · 0 评论 -
numpy随机数 numpy.random
numpy.random模块快速入门(更新中)文章目录简单快速的随机数生成numpy.random.rand(d0, d1, ..., dn)numpy.random.randn(d0, d1, ..., dn)randint(low[, high, size, dtype])常见分布率的随机数生成不常用分布率的随机数生成简单快速的随机数生成numpy.random.rand(d0, d1, …, dn)Random values in a given shape.Create an array原创 2020-07-15 11:32:54 · 257 阅读 · 0 评论 -
numpy中的常数constants
numpy.Inf(inf)IEEE 754 floating point representation of (positive) infinity.See Alsonumpy.InfinityIEEE 754 floating point representation of (positive) infinity.Use inf because Inf, Infinity, PINF and infty are aliases for inf. For more details, see inf.n原创 2020-07-15 11:12:40 · 1146 阅读 · 0 评论 -
numpy 选取数组某一维度上的切片 numpy.compress
numpy.compress函数的用法原创 2020-07-15 11:00:05 · 880 阅读 · 0 评论 -
numpy找非零元素并计数 numpy.nonzero 和 numpy.count_nonzero
numpy.nonzero(a)Return the indices of the elements that are non-zero.示例x = np.array([[3, 0, 0], [0, 4, 0], [5, 6, 0]])np.nonzero(x)(array([0, 1, 2, 2], dtype=int64), array([0, 1, 0, 1], dtype=int64))也就是 [0 0], [1 1], [2 0], [2 1]位置的元素不为0numpy.coun原创 2020-07-14 20:13:47 · 23857 阅读 · 0 评论 -
numpy选取满足特定条件的元素numpy.extract
numpy.extract(condition, arr)Return the elements of an array that satisfy some condition.等价于:extractis equivalent to arr[condition].Parameterscondition [array_like]An array whose nonzero or True entries indicate the elements of arr to extract.arr [ar原创 2020-07-14 20:06:57 · 2775 阅读 · 0 评论 -
numpy中的元素替换numpy.place
numpy.place(arr, mask, vals)Change elements of an array based on conditional and input values.arr [ndarray]Array to put data into.mask [array_like]Boolean mask array. Must have the same size as a.vals [1-D sequence]Values to put into a.示例import nu原创 2020-07-14 19:59:35 · 10694 阅读 · 0 评论 -
numpy排序 numpy.sort/argsort, numpy.lexsort,numpy.sort_complex,numpy.partition/argpartition
numpy.sort(a, axis=-1, kind=None)Return a sorted copy of an array.a [array_like]Array to be sorted.axis [int or None, optional]Axis along which to sort. If None, the array is flattened beforesorting. The default is -1, which sorts along the last axis.原创 2020-07-14 18:22:25 · 383 阅读 · 0 评论 -
numpy business day 相关函数
The function busday_offsetallows you to apply offsets specified in business days to datetimes with a unit of ‘D’ (day).np.busday_offset('2011-06-23', 1)numpy.datetime64('2011-06-24')When an input date falls on the weekend or a holiday, busday_offset firs原创 2020-07-09 18:03:31 · 396 阅读 · 0 评论 -
numpy 实现矩阵插入行或列 numpy.insert
numpy.insert(arr, obj, values, axis=None)Official Documentarr: array_likeInput array.obj: int, slice or sequence of intsObject that defines the index or indices before which values is inserted.values: array_likeValues to insert into arr. If the type原创 2020-07-09 14:43:21 · 3067 阅读 · 0 评论 -
numpy 找到矩阵中值为nan的元素 numpy.isnan
numpy.isnan(a,axis=None,keepdims=no value)官方文档Test element-wise for NaN and return result as a boolean array.示例import numpy as npa = np.array([[1, 2], [3, np.nan]])print(np.isnan(a))结果[[False False] [False True]]原创 2020-07-09 14:19:51 · 4656 阅读 · 0 评论 -
numpy寻找矩阵最大和最小的元素 nanmax,nanmin
numpy.nanmax(a, axis=None, out=None, keepdims=no value)官方文档Return the maximum of an array or maximum along an axis, ignoring any NaNs.示例1.import numpy as npa = np.array([[1, 2], [3, np.nan]])print(np.nanmax(a))结果3.0示例2. 指定 axis,返回没一行或每一列的最大值原理可原创 2020-07-09 14:09:29 · 1646 阅读 · 0 评论 -
numpy阶跃函数 numpy.heaviside
numpy.heaviside(x1,x2)Compute the Heaviside step function.官方链接x1 [array_like] Input values.x2 [array_like] The value of the function when x1 is 0.示例:np.heaviside([-1.5, 0, 2.0], 0.5)array([ 0. , 0.5, 1. ])np.heaviside([-1.5, 0, 2.0], 1)array([原创 2020-07-09 13:49:28 · 4580 阅读 · 1 评论 -
numpy符号函数 numpy.sign
numpy.sign官方链接示例:np.sign([1,-5])Out[7]: array([ 1, -1])原创 2020-07-09 13:43:42 · 918 阅读 · 0 评论 -
numpy弧度制和角度制转换deg2rad, rad2deg
把45°转化为π4\frac{\pi}{4}4πnp.deg2rad(45)Out[4]: 0.7853981633974483把π4\frac{\pi}{4}4π转化为45°np.rad2deg(np.pi/4)Out[6]: 45.0原创 2020-07-09 13:39:42 · 14837 阅读 · 0 评论 -
numpy.ndarray 常用运算符操作
示例:import numpy as npmat= np.array([1, -3, 5])print('mat<4',mat<4)print('mat<4',mat.__lt__(4))print('mat<=4',mat.__le__(4))print('mat>',mat>4)print('mat>',mat.__gt__(4))print('mat>=',mat.__ge__(4))print('mat==4',mat.__eq__(原创 2020-07-09 11:47:25 · 504 阅读 · 0 评论 -
numpy.real 和 numpy.image
示例:import numpy as npmat= np.array([1+2j, 3+4j, 5+6j])print('mat=',mat)print('实部:',np.real(mat))print('虚部:',np.imag(mat))结果:mat= [1.+2.j 3.+4.j 5.+6.j]实部: [1. 3. 5.]虚部: [2. 4. 6.]相当于mat.realmat.imag...原创 2020-07-09 11:12:25 · 4983 阅读 · 0 评论 -
numpy 删除矩阵中的部分数据 numpy.delete
numpy.delete官方链接Return a new array with sub-arrays along an axis deleted.示例:import numpy as npmat= np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])print('mat=',mat)print('删除第0行:',np.delete(mat,0,axis=0))print('删除第0列:',np.delete(mat,0,axis=1))结果:ma原创 2020-07-09 10:59:38 · 3527 阅读 · 0 评论