【python – 将NumPy字符串数组映射到整数】教程文章相关的互联网学习教程文章

python – 使用numpy.where()返回完整数组的索引,其中测试条件位于切片上【代码】

我有以下3 x 3 x 3 numpy数组称为a(在阅读完其余问题后,注释将有意义):array([[[8, 1, 0], # irrelevant 1 (is at position 1 rather than 0)[1, 7, 5], # the 1 on this line is what I am after![1, 4, 9]], # irrelevant 1 (out of the "cross")[[4, 0, 1], # irrelevant 1 (is at position 2 rather than 0)[1, 0, 1], # I'm only after the first 1 on this line![6, 2, 1]], # irrelevant 1 (is at p...

Numpy的Python列表理解【代码】

我正在寻找Numpy中的列表理解方法或类似方法来消除for循环的使用,例如. index_values是列表的Python字典列表(每个列表包含不同数量的索引值),s是一个numpy向量:for i in range(33):s[index_values[i]] += 4.1有没有可用的方法可以消除for循环?解决方法:我不完全了解index_values是什么类型的对象.但如果它是一个ndarray,或者可以转换为ndarray,你可以这样做:>>> s = numpy.arange(20) >>> index_values = (numpy.random.random(...

Python尝试乘以适当维度的两个numpy矩阵时返回错误【代码】

我的代码非常简单,但是当我尝试乘以32和21矩阵时,我得到以下错误(对我来说,没有意义):ValueError: operands could not be broadcast together with shapes (3,2) (2,1) 在这个程序中,我做的第一件事是在域[-1,1] x [-1,1]中随机生成两个点,并使用变量slope和y_int通过这些点定义一条线.然后,我创建形式为{x_0,x_1,x_2}的N个随机x值,其中x_0始终为1,x_1,x_2是[-1,1]范围内随机生成的数字.这些N值包含代码中的x_matrix. y_matrix是值...

python – 在Numpy中的向量上应用bins函数【代码】

我将如何将聚合函数(例如“sum()”或“max()”)应用于向量中的bin. 那就是我有: >值为x的长度为N的向量>长度为N的bin标签b的向量 这样b表示x中每个值所属的bin.对于b中的每个可能值,我想对属于该bin的x的所有值应用聚合函数“func()”.>> x = [1,2,3,4,5,6] >> b = ["a","b","a","a","c","c"] 输出应该是2个向量(比如聚合函数是产品函数):>>(labels, y) = apply_to_bins(values = x, bins = b, func = prod)labels = ["a","b"...

python – Numpy array.resize() – zeros’first’【代码】

我可以使用array.resize(shape)来调整我的数组的大小,并将零添加到那些没有任何值的索引.如果我的数组是[1,2,3,4]并且我使用array.resize [5,0]我得到[1,2,3,4,0].如何将零附加/填充到前面,产生[0,1,2,3,4]? 我动态地这样做 – 尝试使用:array.resize(arrayb.shape)我想避免(不惜一切代价)制作数组的内存副本.那就是反转数组,调整大小和反转.使用视图将是理想的.解决方法:我相信你可以使用切片分配来做到这一点.我认为没有理由为...

python – 使用numpy中的1d数组从2d数组中选择多个元素【代码】

numpy中有两个数组.第一个是2d数组,可以将其视为向量列表.第二个是1d数组,可以将其视为2d数组的索引列表. 我想使用1d数组的索引选择2d数组的元素.现在我一直在做z=rnd.rand(2,10) # a list of 2d vectors of length 10z_idx=rnd.randint(2,size=z.shape[1]) #indices selecting a dimension of the 2d vectorresult=np.array([z[z_idx[i],i] for i in xrange(len(z_idx))])但这很慢. 在numpy中有更好的方法吗?解决方法:可能是最简...

python – Numpy genfromtxt – 列名【代码】

我试图使用genfromtxt导入一个简单的制表符分隔文本文件.我需要访问每个列标题名称,以及与该名称关联的列中的数据.目前我正以一种看起来有点奇怪的方式实现这一目标. txt文件中的所有值(包括标题)都是十进制数.sample input file:1 2 3 4 # header row 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7table_data = np.ge...

python – numpy直方图索引【代码】

考虑到我有一个3D直方图或简单的3D numpy形状阵列(X,Y,Z)import numpy as np array = np.random.random((100,100,100))什么是最好的方法,使用numpy或scipy来获得满足球体条件的数组值的索引?(index_x**2 + index_y**2 + index_z**2) <= radius**2显然,在后一种情况下,阵列中心是(0,0,0).一般情况下((index_x-center_x)**2 + (index_y-center_y)**2 +(index_z-center_z)**2) <= radius**2使用简单的python循环很容易解决问题,但我需...

python – 如何在这个短代码中提高numpy性能?【代码】

我试图了解为什么我的一个python脚本比gfortran慢了约4倍,我必须这样做:import numpy as npnvar_x=40 nvar_y=10def fn_tst(x):for i in range(int(1e7)):y=np.repeat(x,1+nvar_y)return yx = np.arange(40) y = fn_tst(x)print y.min(),y.max()这比以下fortran代码慢大约13倍module test integer,parameter::nvar_x=40,nvar_y=10 contains subroutine fn_tst(x,y) real,dimension(nvar_x)::x real,dimension(nvar_x*(1+nvar_y))::...

python – 制作没有numpy的多维数组的好方法【代码】

我需要一些方法来跟踪布尔标志的四维数组.只是真/假值.似乎numpy是执行此类操作的规范方式,但安装似乎比我真正想要处理的更复杂. (我需要在多个操作系统环境中工作.) 那么,是否有一种简单的方法,或简单的模块,可以让我存储和从四维数组中获取真/假值而不需要挖掘自己比海洋更深的一堆意大利面? 我可以列出列表列表,但这看起来很笨拙.解决方法:如果数组是稀疏的(罕见的真值);你可以使用collections.defaultdict:from collections ...

python – 来自unix utc秒的numpy datetime64【代码】

注意:我认为datetime64正在做正确的事情.所以我会留下帖子以防它有用. 从numpy 1.7.0开始,传入np.datetime64的秒被解释为在本地时区.是否有一种干净,快速的方法将unix utc秒导入np.datetime64?我有50M的这些阵列,似乎应该有一种方法告诉np.datetime64我的秒值是UTC,不是吗?datetime.datetime.utcfromtimestamp(1338624706) datetime.datetime(2012, 6, 2, 8, 11, 46) # this is the time I'm looking fornp.datetime64(1338624...

python – 根据圆的面积更改numpy数组中的值【代码】

上下文 我需要在python中测量组合圆的面积.我想出了使用numpy数组的方法.首先,我用零填充网格(numpy数组),网格中的每个位置对应0.5cm的长度.然后我将圆心放到网格上,并在网格中将此值更改为1.我知道圆的半径,所以我可以计算圆的面积,因为我知道圆的面积我改变了网格中零点的区域.然后我计算网格中的一些频率并使用它来计算组合圆的面积,因为我知道网格中每个位置的长度我可以计算面积.这是目前非常粗糙的方法,我计划在算法确定后将...

python – 将bz2压缩二进制文件导入为numpy数组【代码】

我有一个包含数据数组的bz2压缩二进制(big endian)文件.使用外部工具解压缩然后将文件读入Numpy工作:import numpy as np dim = 3 rows = 1000 cols = 2000 mydata = np.fromfile('myfile.bin').reshape(dim,rows,cols)但是,由于还有很多其他类似的文件,我无法事先单独提取每个文件.因此,我发现Python中的bz2模块可能能够在Python中直接解压缩它.但是我收到一条错误消息:dfile = bz2.BZ2File('myfile.bz2').read() mydata = np.fr...

python – numpy array.tolist()和scipy.sparse tolist()之间有什么区别【代码】

import numpy as np from scipy.sparse import lil_matrix使用numpy我得到test_mat = (np.ones((4,6))) test_list = test_mat[0,:].tolist()将test_list作为包含6个元素的列表.但是,我使用scipy.sparsetest_mat = lil_matrix(np.ones((4,6))) test_list = test_mat[0,:].todense().tolist()将test_list作为一个列表,其中包含一个元素,而该元素又有6个元素(test_list [0]有6个元素). 有人可以向我解释导致这种差异的潜在机制吗?谢谢...

python – 如何在numpy中进行条件行求和?【代码】

我有一个numpy 2d数组,包括正条目和-1值,这些是缺少的值.我想在不包含-1值的情况下对此矩阵的行求和.有没有办法在numpy中执行条件行求和?解决方法:方法#1:乘以布尔数组,因为True表现为1而False表示为0:>>> a array([[ 1, 3, 0, 4, 2],[ 2, 1, 4, -1, 1],[-1, 2, 4, 4, 4],[ 4, 4, 4, 4, 0],[ 0, 2, 4, 1, 2]]) >>> (a * (a != -1)).sum(axis=1) array([10, 8, 14, 16, 9])方法#2:使用相同的布尔数组(好吧...