草庐IT

numpy-ufunc

全部标签

python - Numpy 无法从 dtype 转换 ufunc 乘法输出

我想将int16数组与float数组相乘,自动舍入,但这失败了:importnumpyA=numpy.array([1,2,3,4],dtype=numpy.int16)B=numpy.array([0.5,2.1,3,4],dtype=numpy.float64)A*=B我得到:TypeError:Cannotcastufuncmultiplyoutputfromdtype('float64')todtype('int16')withcastingrule'same_kind' 最佳答案 2种解决方法:你可以通过替换来解决这个问题

python - NumPy 是否有 unravel_index() 的反函数?

numpy.unravel_index()将一个形状和一个平面索引放入数组中,并返回表示数组中该索引的元组。有倒数吗?我可以手动计算它,但这似乎一定是某处的内置函数...... 最佳答案 从numpy1.6.0(2011年5月)开始,有一个内置的NumPy函数ravel_multi_indexConvertsatupleofindexarraysintoanarrayofflatindices,applyingboundarymodestothemulti-index.(用户BiRico的评论中也提到了这一点,但实际上应该作为答案出

python - 使用 ctypes 数组作为 numpy 数组时的 PEP 3118 警告

当我尝试将ctypes数组用作numpy数组时收到以下警告消息:Python2.7.1(r271:86832,Nov272010,18:30:46)[MSCv.150032bit(Intel)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>importctypes,numpy>>>TenByteBuffer=ctypes.c_ubyte*10>>>a=TenByteBuffer()>>>b=numpy.ctypeslib.as_array(a)C:\Python27\lib\site-pa

python - 相当于 MATLAB 元胞数组的 Numpy

我想在Numpy中创建一个类似MATLAB的元胞数组。我怎样才能做到这一点? 最佳答案 Matlab元胞数组aremostsimilar到Python列表,因为它们可以容纳任何对象-但scipy.io.loadmat将它们导入为numpy对象数组-这是一个dtype=object的数组。老实说,尽管您使用Python列表也一样好-如果您保存的是一般对象,您将失去numpy数组的几乎所有优点(这些数组旨在保存一系列值,每个值都具有相同的数量内存)。 关于python-相当于MATLAB元胞

python - Numpy->Cython 转换 : Compile error:Cannot convert 'npy_intp *' to Python object

我有以下代码可以正确转换为cython:fromnumpyimport*##returnswinningplayersor[]ifundecided.defscore(board):scores=[]checked=zeros(board.shape)foriinxrange(len(board)):forjinxrange(len(board)):ifchecked[i,j]==0andboard[i,j]!=0:...dostuf我尝试转换为cython:importnumpyasnpcimportnumpyasnp@cython.boundscheck(False)@cython

python - 如何提取较大数字 Numpy 数据类型的位

Numpy有一个库函数,np.unpackbits,它会将一个uint8解包成一个长度为8的位向量。有没有相应快速的方法来解包更大的数字类型?例如。uint16或uint32。我正在研究一个涉及数字之间频繁转换的问题,用于数组索引及其位向量表示,而瓶颈是我们的打包和解包函数。 最佳答案 您可以使用view和unpackbits执行此操作输入:unpackbits(arange(2,dtype=uint16).view(uint8))输出:[00000000000000000000000100000000]对于a=arange(int

python - 为什么 numpy.zeros 占用空间小

我想知道为什么numpy.zeros占用这么小的空间?x=numpy.zeros(200000000)这不占用内存,而x=numpy.repeat(0,200000000)占用大约1.5GB。numpy.zeros是否创建一个空指针数组?如果是这样,在cython中更改指针后,有没有办法将数组中的指针设置回空?如果我使用:x=numpy.zeros(200000000)x[0:200000000]=0.0内存使用率上升。有没有办法更改一个值,然后将其更改回numpy.zeros最初在python或cython中的格式? 最佳答案 您

python - 如何展平在第二个轴上具有不同长度的 2d numpy 数组?

我有一个像这样的numpy数组:myArray=np.array([[1,2],[3]])但我不能把它弄平,In:myArray.flatten()Out:array([[1,2],[3]],dtype=object)如果我在第二个轴上将数组更改为相同的长度,那么我可以将其展平。In:myArray2=np.array([[1,2],[3,4]])In:myArray2.flatten()Out:array([1,2,3,4])我的问题是:我可以使用类似myArray.flatten()的东西,不管数组的维度和它的元素的长度,并得到输出:array([1,2,3])?

python - 一次从 numpy 数组中选择多个切片

我正在寻找一种方法来一次从numpy数组中选择多个切片。假设我们有一个一维数据数组,想要提取它的三个部分,如下所示:data_extractions=[]forstart_indexinrange(0,3):data_extractions.append(data[start_index:start_index+5])之后data_extractions将是:data_extractions=[data[0:5],data[1:6],data[2:7]]没有for循环,有什么方法可以执行上述操作吗?numpy中的某种索引方案可以让我从数组中选择多个切片并将它们作为多个数组返回,比如在n

python - 将 AWS Glue Python 与 NumPy 和 Pandas Python 程序包结合使用

在AWS上名为Glue的新ETL工具中使用NumPy和Pandas等包的最简单方法是什么?我在Python中有一个完整的脚本,我想在利用NumPy和Pandas的AWSGlue中运行。 最佳答案 您可以检查使用此脚本作为粘合作业安装的最新python包importloggingimportpiplogger=logging.getLogger(__name__)logger.setLevel(logging.INFO)if__name__=='__main__':logger.info(pip._internal.main(['li