草庐IT

numpy-ufunc

全部标签

python - numpy.pad() 函数是否有相反/相反的功能?

是否有一个函数与numpy.pad()的功能相反?我正在寻找的是一个函数(均匀地)减少每个方向上的numpy数组(矩阵)的维度。我试着用负值调用numpy.pad(),但它给出了一个错误:importnumpyasnpA_flat=np.array([0,1,2,3,4,5,6,7,8,9,10,11])A=np.reshape(A_flat,(3,2,-1))#thisWORKS:B=np.pad(A,((1,1),(1,1),(1,1)),mode='constant')#thisDOESNOTWORK:C=np.pad(B,((-1,1),(1,1),(1,1)),mode='c

python - numpy 中的最小值和 argmin

给定一个数组,我需要找到最小值和最小值的位置。这可以使用>>>current_costarray([2.54802261,2.98627555,0.23873749,1.82511195,1.35469083])>>>current_cost.min()0.23873748917821858>>>current_cost.argmin()2这个解决方案不是很有效,因为它需要扫描列表两次。有没有办法同时获取minimum和agrmin? 最佳答案 min_pos=current_cost.argmin()min_val=current

python - Numpy:使用 reshape 或 newaxis 添加维度

ndarray.reshape或numpy.newaxis均可用于向数组添加新维度。它们似乎都创建了一个View,使用一个而不是另一个有什么理由或优势吗?>>>barray([1.,1.,1.,1.])>>>c=b.reshape((1,4))>>>c*=2>>>carray([[2.,2.,2.,2.]])>>>c.shape(1,4)>>>barray([2.,2.,2.,2.])>>>d=b[np.newaxis,...]>>>darray([[2.,2.,2.,2.]])>>>d.shape(1,4)>>>d*=2>>>barray([4.,4.,4.,4.])>>>carra

python - 如何将元素附加到 numpy 数组

我想做的相当于在Numpy中递归地在python列表中添加元素,如以下代码所示matrix=open('workfile','w')A=[]forrowinmatrix:A.append(row)printA我尝试了以下方法:matrix=open('workfile','w')A=np.array([])forrowinmatrix:A=numpy.append(row)printA它不会像列表中那样返回所需的输出。编辑这是示例代码:mat=scipy.io.loadmat('file.mat')var1=mat['data1']A=np.array([])forrowinvar1:

python - 在 pandas 和 numpy 中聚合 lambda 函数

下面有一个聚合语句:data=data.groupby(['type','status','name']).agg({'one':np.mean,'two':lambdavalue:100*((value>32).sum()/reading.mean()),'test2':lambdavalue:100*((value>45).sum()/value.mean())})我继续遇到关键错误。我已经能够让它适用于一个lambda函数,但不能适用于两个。 最佳答案 您需要在data中指定要聚合其值的列。例如,data=data.group

python - 如何让 numpy 数组的 FFT 工作?

我正在将csv文件的特定列作为numpy数组读取。当我尝试对该数组进行fft运算时,我得到了一个NaN数组。我如何让fft工作?这是我到目前为止所拥有的:#!/usr/bin/envpythonfrom__future__importdivisionimportnumpyasnpfromnumpyimportfftimportmatplotlib.pyplotaspltfileName='/Users/Name/Documents/file.csv'#readcsvfiledf=np.genfromtxt(fileName,dtype=float,delimiter=',',names

python - 根据值拆分 Numpy 数组

假设我有这个NumPy数组:a=np.array([0,3,5,5,0,10,14,15,56,0,12,23,45,23,12,45,0,1,0,2,3,4,0,0,0])我想打印0之间的所有数字并自动将它们添加到新的np.array(见下文):a1=[3,5,5]a2=[10,14,15,56]a3=[12,23,45,23,12,45]a4=[1]a5=[2,3,4]是否有内置函数可以执行此操作? 最佳答案 这是使用np.where的矢量化方法和np.split-idx=np.where(a!=0)[0]aout=np.spl

python - Pandas:从保留其顺序的 2D numpy 数组创建数据框

假设您有3个numpy数组:lat、lon、val:importnumpyasnplat=np.array([[10,20,30],[20,11,33],[21,20,10]])lon=np.array([[100,102,103],[105,101,102],[100,102,103]])val=np.array([[17,2,11],[86,84,1],[9,5,10]])假设您想创建一个pandas数据框,其中df.columns=['lat','lon','val'],但由于每个值inlat与long和val数量相关联,您希望它们出现在同一行中。此外,您希望每列的行顺序遵循每个

python/numpy 一次合并 4 行子数组

我有一个按每一行拆分的numpy数组:splitArray:[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]我希望每4行合并所说的splitArray,最后一个子数组不一定必须是4,而只是剩

python - Numpy 数组有头尾方法吗?

我将一个csv文件加载到“dataset”中并尝试执行dataset.head(),但它报告错误。如何检查numpy数组的头部或尾部?没有指定特定行? 最佳答案 对于类似head的函数,您可以使用dataset[:10]对数组进行切片。对于类似尾部的函数,您可以使用dataset[-10:]对数组进行切片。 关于python-Numpy数组有头尾方法吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com