草庐IT

numpy-ndarray

全部标签

python - 二维矩阵上的 Numpy where()

我有一个这样的矩阵t=np.array([[1,2,3,'foo'],[2,3,4,'bar'],[5,6,7,'hello'],[8,9,1,'bar']])我想获取包含字符串'bar'的行的索引在一维数组中rows=np.where(t=='bar')应该给我索引[0,3]然后广播:-results=t[rows]应该给我正确的行但我不知道如何让它与二维数组一起工作。 最佳答案 您必须将数组切片到要索引的列:rows=np.where(t[:,3]=='bar')result=t1[rows]返回:[[2,3,4,'bar'],

python - 二维矩阵上的 Numpy where()

我有一个这样的矩阵t=np.array([[1,2,3,'foo'],[2,3,4,'bar'],[5,6,7,'hello'],[8,9,1,'bar']])我想获取包含字符串'bar'的行的索引在一维数组中rows=np.where(t=='bar')应该给我索引[0,3]然后广播:-results=t[rows]应该给我正确的行但我不知道如何让它与二维数组一起工作。 最佳答案 您必须将数组切片到要索引的列:rows=np.where(t[:,3]=='bar')result=t1[rows]返回:[[2,3,4,'bar'],

python - numpy 从二维数组中减去/添加一维数组

我有以下二维数组:a=array([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]])和另一个一维数组:b=array([1,2,3,4,5])然后我想计算类似的东西c=a-b为了得到:c=array([[0,1,2],[2,3,4],[4,5,6],[6,7,8],[8,9,10]])但我收到错误消息:Traceback(mostrecentcalllast):PythonShell,prompt79,line1ValueError:operandscouldnotbebroadcasttogetherwithshapes(5,3)(5,)

python - numpy 从二维数组中减去/添加一维数组

我有以下二维数组:a=array([[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]])和另一个一维数组:b=array([1,2,3,4,5])然后我想计算类似的东西c=a-b为了得到:c=array([[0,1,2],[2,3,4],[4,5,6],[6,7,8],[8,9,10]])但我收到错误消息:Traceback(mostrecentcalllast):PythonShell,prompt79,line1ValueError:operandscouldnotbebroadcasttogetherwithshapes(5,3)(5,)

python - 将 numpy 数组设置为 None 是否释放内存?

我有数百个非常大的矩阵,例如(600,800)或(3,600,800)形状的矩阵。因此,我想在我真的不再需要某些东西时立即取消分配使用的内存。我想:some_matrix=None应该完成这项工作,还是只是将引用设置为None但内存中的某个地方仍然分配了空间?(比如为将来some_matrix的一些重新初始化保留分配的空间)另外:有时我会通过矩阵切片,计算一些东西并将值放入缓冲区(一个列表,因为它一直被追加)。所以将列表设置为None肯定会释放内存,对吧?或者是否存在某种unset()方法,其中整个标识符及其引用的对象都被“删除”? 最佳答案

python - 将 numpy 数组设置为 None 是否释放内存?

我有数百个非常大的矩阵,例如(600,800)或(3,600,800)形状的矩阵。因此,我想在我真的不再需要某些东西时立即取消分配使用的内存。我想:some_matrix=None应该完成这项工作,还是只是将引用设置为None但内存中的某个地方仍然分配了空间?(比如为将来some_matrix的一些重新初始化保留分配的空间)另外:有时我会通过矩阵切片,计算一些东西并将值放入缓冲区(一个列表,因为它一直被追加)。所以将列表设置为None肯定会释放内存,对吧?或者是否存在某种unset()方法,其中整个标识符及其引用的对象都被“删除”? 最佳答案

python - 如何获取 C 的 numpy 数组的内存地址

我构建了一个numpy数组::a=np.ndarray([2,3])然后我想看看它的数据在哪里::a.data>>>Out[213]:a.data>>>Out[214]:a.data>>>Out[215]:...为什么每次偏移地址都不一样?如果我想通过以下方式使用c_types将数据传输到c函数::ctypes_array=(ctypes.c_char*a.size*8).from_address(ptr)我应该如何获取ptr的值? 最佳答案 另外,看看ndarray.__array_interface__,这是一个包含您所需要的所

python - 如何获取 C 的 numpy 数组的内存地址

我构建了一个numpy数组::a=np.ndarray([2,3])然后我想看看它的数据在哪里::a.data>>>Out[213]:a.data>>>Out[214]:a.data>>>Out[215]:...为什么每次偏移地址都不一样?如果我想通过以下方式使用c_types将数据传输到c函数::ctypes_array=(ctypes.c_char*a.size*8).from_address(ptr)我应该如何获取ptr的值? 最佳答案 另外,看看ndarray.__array_interface__,这是一个包含您所需要的所

python - numpy 任意精度线性代数

我有一个numpy二维数组[中型/大型-比如说500x500]。我想找到它的元素指数的特征值。问题在于某些值非常负(-800、-1000等),并且它们的指数下溢(意味着它们非常接近于零,因此numpy将它们视为零)。无论如何在numpy中使用任意精度?我的梦想是这样的:importnumpyasnpnp.set_precision('arbitrary')#我已经用gmpy和mpmath搜索了一个解决方案,但没有成功。欢迎任何想法。 最佳答案 SymPy可以计算任意精度:fromsympyimportexp,N,Sfromsympy

python - numpy 任意精度线性代数

我有一个numpy二维数组[中型/大型-比如说500x500]。我想找到它的元素指数的特征值。问题在于某些值非常负(-800、-1000等),并且它们的指数下溢(意味着它们非常接近于零,因此numpy将它们视为零)。无论如何在numpy中使用任意精度?我的梦想是这样的:importnumpyasnpnp.set_precision('arbitrary')#我已经用gmpy和mpmath搜索了一个解决方案,但没有成功。欢迎任何想法。 最佳答案 SymPy可以计算任意精度:fromsympyimportexp,N,Sfromsympy