【python – 将Matrix理解为List列表,然后是Numpy Array】教程文章相关的互联网学习教程文章

python-如何根据内容从numpy数组中提取行?【代码】

例如,作为标题,我有一个2d的numpy数组,如下图所示,[[33, 21, 1],[33, 21, 2],[32, 22, 0],[33, 21, 3],[34, 34, 1]]并且我想根据第一列和第二列中的内容有序地提取这些行,在这种情况下,我想获得3个不同的2d numpy数组,如下所示,[[33, 21, 1],[33, 21, 2],[33, 21, 3]]和[[32, 22, 0]]和[[34, 34, 1]]我可以使用numpy中的哪个函数来执行此操作?我认为关键是要区分第一行和第二列的不同行.如果这些列中的元素相同,则将特定的行分类在...

有没有更多的Pythonic /优雅方法来扩展Numpy数组的尺寸?【代码】

我现在想做的是:x = x[:, None, None, None, None, None, None, None, None, None]基本上,我想将Numpy数组扩展9个维度.或一些N个尺寸,其中N可能事先未知! 有一个更好的方法吗?解决方法:一种替代方法可能是重塑-x.reshape((-1,) + (1,)*N) # N is no. of dims to be appended因此,基本上对于与单例尺寸相对应的None,我们沿这些暗点使用长度为1的形状.对于第一个轴,我们使用-1形状将所有元素推入其中. 样品运行-In [119]...

Python基础-numpy【代码】【图】

创建数组numpy.array():括号内可以是列表、元祖、数组、生成器等 numpy.arange():类似range(),在给定间隔内返回均匀间隔的值#numpy.linspace() 返回在间隔[开始,停止]上计算的num个均匀间隔的样本。 # numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) # start:起始值,stop:结束值 # num:生成样本数,默认为50 # endpoint:如果为真,则停止是最后一个样本。否则,不包括在内。默认值为Tru...

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...