【python – 根据值的唯一性删除numpy数组的行】教程文章相关的互联网学习教程文章

python – 将numpy数组拆分成块【代码】

我有一个900 x 650 2D numpy数组,我想分成10 x 10块,将检查非零元素.是否有一种Pythonic方式,我可以通过numpy实现这一点? 我正在寻找类似于以下功能:blocks_that_have_stuff = [] my_array = getArray() my_array.cut_into_blocks((10, 10)) for block_no, block in enumerate(my_array):if numpy.count_nonzero(block) > 5:blocks_that_have_stuff.append(block_no)解决方法:我写了一个例程,用块切割矩阵.这个例子很容易理解.我...

python – 获取NumPy数组中的列数的函数,如果它是1D数组,则返回1【代码】

我已经在3xN NumPy数组上定义了操作,我想循环遍历数组的每一列. 我试过了:for i in range(nparray.shape[1]):但是,如果nparray.ndim == 1,则会失败. 是否有一种干净的方法来确定NumPy数组的列数,例如,如果它是一维数组(如MATLAB的大小操作那样),则获得1? 否则,我已实施:if nparray.ndim == 1:num_points = 1 else:num_points = nparray.shape[1]for i in range(num_points):解决方法:如果你只是在寻找不那么冗长的东西,你可以这...

Pythonic将字典转换为numpy数组的方法【代码】

这更像是关于编程风格的问题.我删除了以下字段的网页:“温度:51 – 62”,“高度:1000-1500”……等结果保存在字典中{"temperature": "51-62", "height":"1000-1500" ...... }所有键和值都是字符串类型.每个键都可以映射到许多可能值中的一个.现在我想将这个字典转换为numpy数组/向量.我有以下问题: >每个键对应于数组中的一个索引位置.>每个可能的字符串值都映射到一个整数.>对于某些词典,某些键不可用.例如,我也有一个没有“...

python – 在多维numpy数组中快速迭代向量

我正在编写一些python numpy cython代码,并试图找到在数组上进行以下迭代的最优雅和有效的方法: 假设我有一个函数f(x,y),它采用形状(3,)的向量x和形状(10,)的向量y,并返回形状(10,)的向量.现在我有两个数组X和Y形状sx(3,)和sy(10,),其中sx和sy是两个可以一起广播的形状(即sx == sy,或者当轴不同时,一个两者的长度为1,在这种情况下将重复).我想生成一个形状为zs(10,)的数组Z,其中zs是带有sy的sx广播的形状. Z中的每个10维向量等于X...

python – 如何将numpy数组流式传输到pyaudio流?【代码】

我正在编写一个代码,根据他的动作给用户提供一些音频输出,我想生成声音,而不是要播放固定数量的wav文件.现在,我正在做的是以numpy格式生成信号,将数据存储在wav文件中,然后将相同的文件读入pyaudio.我认为这是多余的,但是,我找不到办法做到这一点.我的问题是,我可以直接将一个numpy数组(或常规列表)流式传输到我的pyaudio中来播放吗?解决方法:如果它只是播放而不需要同步到任何东西那么你可以只做以下事情:# Open stream with co...

python – numpy数组上的边框/边操作【代码】

假设我有一个非零值的非numpy数组,并且“background”= 0.作为一个例子,我将采用随机值的范围:array = np.random.randint(1, 5, size = (100,100,100)) z,y,x = np.ogrid[-50:50, -50:50, -50:50] mask = x**2 + y**2 + z**2<= 20**2 array[np.invert(mask)] = 0首先,我想找到“边界体素”(所有非零值在其3x3x3邻域内都为零).其次,我想用非零邻居的平均值替换所有边界体素.到目前为止,我尝试以下列方式使用scipy的通用过滤器: 适...

python – 嵌套NumPy数组并使用分割它们的方法【代码】

我是NumPy的新手,我试图在我的代码中使用它来处理一些表. 我有一个坐标列表,如下所示:coordinates = [["2 0"], ["0 1"], ["3 4"]]并希望像这样写:coordinatesNumpy = np.array([[2, 0], [0, 1], [3, 4]])在常规Python中,这很容易,但你如何使用NumPy?我是否应该使用常规Python函数为列表创建表,然后将2d表转换为np.array,或者NumPy是否具有拆分和填充的方法? 我尝试了一些东西,但他们都给了我一个错误.我试过的最新事情:flower...

python – 删除numpy数组中的行无效【代码】

我试图将我的numpy数据点分成测试和训练集.为此,我从数组中随机选择行作为训练集,剩下的就是测试集. 这是我的代码:matrix = numpy.loadtxt("matrix_vals.data", delimiter=',', dtype=float) matrix_rows, matrix_cols = matrix.shape# training set randvals = numpy.random.randint(matrix_rows, size=50) train = matrix[randvals,:] test = numpy.delete(matrix, randvals, 0)print matrix.shape print train.shape print te...

python – 带有pd.Series布尔值的索引numpy数组【代码】

我发现了一段我不太懂的代码.它基本上是这样的:array = np.ones((5, 4))*np.nan s1 = pd.Series([1,4,0,4,5], index=[0,1,2,3,4]) I = s1 == 4 print(I)0 False 1 True 2 False 3 True 4 False dtype: bool我真的理解这部分,它在4的索引处返回一个带有True的bo.Series布尔值.现在,作者使用I来索引数组:array[I,0] = 3 array[I,1] = 7 array[I,2] = 2 array[I,3] = 5 print(array)[[ 3. 7. 2. 5.][ 3. ...

python – 将字典转换为Numpy数组【代码】

我正在尝试转换字典{0: {0: 173, 1: 342, 2: 666, 3: 506, 4: 94},1: {0: 13, 1: 2171, 2: 1915, 3: 3075, 4: 630},2: {0: 0, 1: 265, 2: 5036, 3: 508, 4: 11},3: {0: 0, 1: 3229, 2: 2388, 3: 3649, 4: 193},4: {0: 3, 1: 151, 2: 591, 3: 1629, 4: 410}}numpy数组array([[ 173, 342, 666, 506, 94],[ 13, 2171, 1915, 3075, 630],[ 0, 265, 5036, 508, 11],[ 0, 3229, 2388, 3649, 193],[ 3, 151, 591, 162...

如何将Python字典对象转换为numpy数组【代码】

我有python dict对象,键为datetime.date对象,值为元组对象:>>> data_dict {datetime.date(2006, 1, 1): (5, 3),datetime.date(2006, 1, 2): (8, 8),datetime.date(2006, 1, 3): (8, 5),datetime.date(2006, 1, 4): (3, 3),datetime.date(2006, 1, 5): (3, 3),datetime.date(2006, 1, 6): (4, 3), ...我想以这种格式将其转换为numpy数组对象:dtype([('date', '|O4'), ('high', '<i1'), ('low', '<i1')])这样我就可以将它存储在磁盘...

python – 对numpy数组的所有值执行操作,引用i和j【代码】

我试图通过在二维数组上应用操作来改善numpy性能,问题是数组中每个元素的值取决于该元素的i,j位置. 显然,这样做的简单方法是使用嵌套的for循环,但我想知道是否有更好的方法可以引用np.indices或沿着这些行的东西?这是我的“愚蠢”代码:for J in range(1025):for I in range(1025):PSI[I][J] = A*math.sin((float(I+1)-.5)*DI)*math.sin((float(J+1)-.5)*DJ)P[I][J] = PCF*(math.cos(2.*float(I)*DI)+math.cos(2.*float(J)*DJ))+5...

python – 错误乘以两个numpy数组【代码】

我收到一个错误,我不太明白以下脚本.我以为我能够将这两个numpy数组多个幸福,但我不断收到此错误:TypeError: unsupported operand type(s) for *: 'numpy.ndarray' and 'numpy.ndarray'脚本如下:def currents_to_resistance(Istack1, Istack2, A_list, x_list):#Error CalcsVideal_R1 = (1.380648e-23 * (27+273.15)) / (1.6021766e-19)print Videal_R1Istack1 = np.array(Istack1)Istack2 = np.array(Istack2)print Istack1prin...

python – 在numpy数组上迭代二进制结构以获取单元格总和【代码】

在包scipy中有定义二进制结构的功能(例如出租车(2,1)或棋盘(2,2)).import numpy from scipy import ndimage a = numpy.zeros((6,6), dtype=numpy.int) a[1:5, 1:5] = 1;a[3,3] = 0 ; a[2,2] = 2 s = ndimage.generate_binary_structure(2,2) # Binary structure #.... Calculate Sum of result_array = numpy.zeros_like(a)我想要的是用给定的结构s迭代这个数组的所有单元格.然后我想将一个函数附加到以空数组(示例函数和)索引的...

python – 从基于索引的numpy数组中获取子数组【代码】

我有一个numpy数组向量,我想得到一个基于索引的子集:import numpy as np input=np.array([1,2,3,4,5,6,7,8,9,10]) index=np.array([0,1,0,0,0,0,1,0,0,1])什么是pythonic方法来输出输出= [2,7,10]?解决方法: output = input[index.astype(np.bool)]要么output = input[np.where(index)[0]]