【python – 为什么numpy.zeros会占用很少的空间】教程文章相关的互联网学习教程文章

python-重塑numpy数组以包含原始数组中值的逻辑块【代码】

我的Google Fu使我失败了! 我有一个numpy数组,如下所示:0 1 2 3------------------------ 0 | 100 110 120 130 1 | 140 150 160 170 2 | 180 190 200 210 3 | 220 230 240 250 4 | 260 270 280 290 5 | 300 310 320 330 6 | 340 350 360 370 7 | 380 390 400 410 8 | 420 430 440 450其形状为(9,4).我想将上面的数组重塑为以下(6,6)数组:0 1 2 ...

python-将numpy结构化数组子集转换为numpy数组而无需复制【代码】

假设我有以下numpy结构化数组:In [250]: x Out[250]: array([(22, 2, -1000000000, 2000), (22, 2, 400, 2000),(22, 2, 804846, 2000), (44, 2, 800, 4000), (55, 5, 900, 5000),(55, 5, 1000, 5000), (55, 5, 8900, 5000), (55, 5, 11400, 5000),(33, 3, 14500, 3000), (33, 3, 40550, 3000), (33, 3, 40990, 3000),(33, 3, 44400, 3000)], dtype=[('f1', '<i4'), ('f2', '<f4'), ('f3', '<f4'), ('f4', '<i4')])我正在尝试将上...

python-使用numpy.lib.stride_tricks.as_strided滑动NaN填充元素的窗口【代码】

考虑数组import numpy as np import pandas as pdnp.random.seed([3,1415]) a = np.random.randint(100, size=10) print(a)[11 98 74 90 15 55 13 11 13 26]我正在使用从numpy.lib.stride_tricks导入的as_strided 当我使用它给滚动窗口如下时as_strided(a, shape=(len(a), 5), strides=(8, -8))[[11 0 0 0 0][98 11 0 0 0][74 98 11 0 0][90 74 98 11 0][15 90 74 98 11][55 15 90 74 98][13 55 15 90 74][11 13 55 15 9...

python-Pandas / Numpy从数组列获取矩阵【代码】

我有一个带有列表列的pandas数据框. df:inputs 0 [1, 2, 3] 1 [4, 5, 6] 2 [7, 8, 9] 3 [10, 11, 12]我需要矩阵array([[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9],[10, 11, 12]])一个有效的方法来做到这一点? 注意:当我尝试df.inputs.as_matrix()时,输出为array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], dtype=object)形状为(4,),而不是所需的(4,3).解决方法:您可以将列转换为列表,然后应用numpy数组,如果列中的...

python-从numpy ndarray提取特定数据【代码】

熊猫新手,任何帮助都值得赞赏def csv_reader(fileName):reqcols=['_id__$oid','payload','channel']io = pd.read_csv(fileName,sep=",",usecols=reqcols)print(io['payload'].values)return io io [‘payload’]的输出行:{"destination_ip": "172.31.14.66","date": "2014-10-19T01:32:36.669861","classification": "Potentially Bad Traffic","proto": "UDP","source_ip": "172.31.0.2","priority": "`2","header": "1:2003195...

python-布尔numpy数组的子矩阵求和【代码】

我有一个1151布尔矩阵a.为此,我在Matlab中执行此操作以获得大小为1050的布尔矩阵.a = logical(a(1:end-1,1:end-1) + a(2:end,1:end-1) + a(1:end-1,2:end) + a(2:end,2:end))我想在python中做到这一点.我尝试了这个:a = np.zeros([11,51], dtype=bool) a=a[0:-2,0:-2] + a[1:-1,0:-2] + a[0:-2,1:-1] + a[1:-1,1:-1]我最终得到了949矩阵,但不确定它是否正在执行预期的操作. 有人可以指出错误吗?解决方法:使用slicing,它将是-a_ou...

python-在NumPy中向量化嵌套嵌套循环的循环【代码】

我具有以下函数,该函数在四面体上生成一系列网格点.def tet_grid(n):xv = np.array([[-1.,-1.,-1.],[ 1.,-1.,-1.],[-1., 1.,-1.],[-1.,-1., 1.],])nsize = int((n+1)*(n+2)*(n+3)/6);xg = np.zeros((nsize,3))p = 0for i in range ( 0, n + 1 ):for j in range ( 0, n + 1 - i ):for k in range ( 0, n + 1 - i - j ):l = n - i - j - kxg[p,0]=(i * xv[0,0] + j * xv[1,0] + k * xv[2,0] + l * xv[3,0])/n xg[p,1]=(i * xv[0,1] +...

python-PySpark-从Numpy矩阵创建DataFrame【代码】

我有一个numpy的矩阵:arr = np.array([[2,3], [2,8], [2,3],[4,5]])我需要从arr创建一个PySpark数据框.我无法手动输入值,因为arr的长度/值将动态变化,因此我需要将arr转换为数据帧. 我尝试以下代码未成功.df= sqlContext.createDataFrame(arr,["A", "B"])但是,出现以下错误.TypeError: Can not infer schema for type: <type 'numpy.ndarray'>解决方法:希望这可以帮助!import numpy as np#sample data arr = np.array([[2,3], [2...

python-根据2D numpy数组过滤3D numpy数组

我有一个形状为(3024,4032)的2D numpy数组. 我有一个形状为(3024、4032、3)的3D numpy数组. 2D numpy数组填充为0和1. 3D numpy数组填充了0到255之间的值. 通过查看2D数组值,我想更改3D数组中的值.如果2D数组中的值为0,我将沿最后一个轴将3D数组中的所有3个像素值更改为0.如果2D数组中的值为1,则不会更改. 我已经检查了How to filter a numpy array with another array’s values这个问题,但它适用于2个具有相同尺寸的数组.就我而言...

python-打印一个numpy数组的所有列和行【代码】

如屏幕截图所示,为了打印目的,二维的numpy数组被截断了.我想显示所有元素.是否有启用该行为的选项设置? 解决方法:有关打印选项,请参见the docs.特别:threshold : int, optional Total number of array elements which trigger summarization rather than full repr (default 1000).因此,将阈值设置为np.inf意味着永远不会汇总它.np.set_printoptions(threshold=np.inf)

python-用字符切片numpy数组【代码】

我的文本文件为:0.01 1 0.1 1 10 100 a 0.02 3 0.2 2 20 200 b 0.03 2 0.3 3 30 300 c 0.04 1 0.4 4 40 400 d我将其读取为列表A,然后转换为numpy数组,即:>>> A array([['0.01', '1', '0.1', '1', '10', '100', 'a'],['0.02', '3', '0.2', '2', '20', '200', 'b'],['0.03', '2', '0.3', '3', '30', '300', 'c'],['0.04', '1', '0.4', '4', '40', '400', 'd']], dtype='|S4')我只想提取一个子数组B,它由A组成,只要它的第4个条目低于...

python-如何在整个numpy矩阵中获取最大(顶部)N个值【代码】

我想获得前N个(最大)args&跨整个numpy矩阵的值,而不是跨一个维度(行/列)的值. 输入示例(N = 3):import numpy as np mat = np.matrix([[9,8, 1, 2], [3, 7, 2, 5], [0, 3, 6, 2], [0, 2, 1, 5]])print(mat)[[9 8 1 2][3 7 2 5][0 3 6 2][0 2 1 5]]所需的输出:[9、8、7] 由于max不能跨一个维度传递,因此按行或按列进行操作不起作用.# by rows, no 8 np.squeeze(np.asarray(mat.max(1).reshape(-1)))[:3] array([9, 7, 6])# by cols...

python-NumPy-捕获前三个连续负数的索引【代码】

我需要找到三个连续负数首次出现的索引.以普通的Python方式,我会这样做:a = [1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1] b=0 for i,v in enumerate(a):if v<0:b+=1else:b=0if b==3:break indx = i-2任何人都知道如何以更智能的NumPy方式进行操作?解决方法:这是在卷积帮助下的矢量化解决方案-def first_consecutive_negative_island(a, N=3):mask = np.convolve(np.less(a,0),np.ones(N,dtype=int))>=Nif mask.any():return mask.argmax(...

python-numpy数组上的str()方法并返回【代码】

应用str()方法后,是否有任何内置方法可以返回numpy数组,例如,import numpy as np a = np.array([[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]) a_str = str(a)#to get back a? a = some_method(a_str).以下两种方法不起作用:from ast import literal_eval a = literal_eval(a_str) # Errorimport numpy as np a = np.fromstring(a_str) # Error更新1:不幸的是,我已经用str()方法转换了很大的数据,所以我不打算用其他方法重新转换它.解决...

python-尽管Numpy建议a.b,为什么a.dot(b)比a @ b更快【代码】

根据question的答案,也根据numpy的答案,与a.dot(b)相比,二维数组的矩阵乘法最好通过a b或numpy.matmul(a,b)完成.If both a and b are 2-D arrays, it is matrix multiplication, but usingmatmul or a @ b is preferred.我做了以下基准测试,发现相反的结果. 问题:我的基准测试有问题吗?如果不是,当Numpy比a @ b或numpy.matmul(a,b)快时,为什么Numpy不推荐a.dot(b)? 基准使用python 3.5 numpy 1.15.0.$pip3 list | grep numpy nu...