草庐IT

signaling_nan

全部标签

python - 在非 NaN 的列中查找第一个和/或最后一个值的索引

我正在处理来自钻孔的地下测量,其中每种测量类型涵盖不同的深度范围。在这种情况下,深度被用作索引。我需要为每种测量类型找到第一次和/或最后一次出现的数据(非NaN值)的深度(索引)。获取数据帧第一行或最后一行的深度(索引)很容易:df.index[0]或df.index[-1]。诀窍在于找到任何给定列的第一个或最后一个非NaN出现的索引。df=pd.DataFrame([[500,np.NaN,np.NaN,25],[501,np.NaN,np.NaN,27],[502,np.NaN,33,24],[503,4,32,18],[504,12,45,5],[505,8,38,np.NaN]

python - 从忽略 inf 和 nan 的 numpy 数组中获取最小的 N 个值

我需要一个好的、快速的方法来从一个可以有任意多个nan和/或inf值的numpy数组中找到10个最小的实数值。我需要确定这些最小实际值的索引,而不是这些值本身。我从numpy中找到了argmin和nanargmin函数。他们并没有真正完成工作,因为我还想指定超过1个值,例如我想要最小的100个值。此外,当它出现在数组中时,它们都返回-inf值作为最小值。heapq.nsmallest有点工作,但它也返回nan和-inf值作为最小值。它也没有给我我正在寻找的索引。如有任何帮助,我们将不胜感激。 最佳答案 唯一应该将其丢弃的值是负无限值

python - scipy.ndimage.filters.convolve 和 scipy.signal.convolve 有什么区别?

据我所知,这些方法都在各自的DLL中作为C函数实现,而且ndimage版本似乎更快(两个实现都没有使用并行代码,比如调用blas或MKL)。此外,当我尝试通过运行以下代码检查它们是否返回相同的结果时,相等断言失败了。我无法从文档中弄清楚这两种方法之间的功能差异究竟应该是什么(文档也不是很清楚0相对于内核起源位置的含义;来自例如,我推断它在中心,但我可能错了)。fromnumpyimportrandom,allclosefromscipy.ndimage.filtersimportconvolveasconvolveimfromscipy.signalimportconvolveasco

python - 使用 scipy.signal.resample 重采样时间

我有一个信号不是等距采样的;为了进一步处理它需要。我以为scipy.signal.resample会做,但我不明白它的行为。信号在y中,相应的时间在x中。重采样预计在yy中进行,所有相应的时间都在xx中。有谁知道我做错了什么或如何实现我的需要?此代码不起作用:xx不是时间:importnumpyasnpfromscipyimportsignalimportmatplotlib.pyplotaspltx=np.array([0,1,2,3,4,5,6,6.5,7,7.5,8,8.5,9])y=np.cos(-x**2/4.0)num=50z=signal.resample(y,num,x

python - 处理零乘以 NaN

我正在尝试估计随机变量(RV)的熵,其中涉及步长的计算:p_X*log(p_X)。例如,importnumpyasnpX=np.random.rand(100)binX=np.histogram(X,10)[0]#createhistogramwith10binsp_X=binX/np.sum(binX)ent_X=-1*np.sum(p_X*np.log(p_X))有时p_X应为零,这在数学上使整个项为零。但是python将p_X*np.log(p_X)设为NaN并将整个求和设为NaN。有什么方法可以管理(无需对NaN进行任何显式检查)使p_X*np.log(p_X)在p_X为零时给

python - Tensorflow:如何将 NaN 转换为数字?

我在训练我的图表时尝试计算权重的熵,并将其用于正则化。这当然涉及w*tf.log(w),并且随着我的权重发生变化,其中一些权重必然会进入导致返回NaN的区域。理想情况下,我会在图表设置中包含一条线:w[tf.is_nan(w)]=但是tensorflow不支持那样分配。我当然可以创建一个操作,但这行不通,因为我需要它在整个图的执行过程中发生。我迫不及待地等待图形执行然后“修复”我的权重,这必须是图形执行的一部分。我无法在文档中找到与np.nan_to_num等效的内容。有人有想法吗?(由于显而易见的原因,添加epsilon不起作用) 最佳答案

python - PyQt 连接 SIGNAL 到多个 SLOT

我正在尝试通过使用python和qt进行快速图形用户界面编程来学习PyQt,目前正在学习Signals和Slots.下面是我的一小段代码:self.connect(self.dial,SIGNAL("valueChanged(int)"),self.spinbox.setValue)#1self.connect(self.dial,SIGNAL("valueChanged(int)"),self.getValue_dial)#2self.connect(self.spinbox,SIGNAL("valueChanged(int)"),self.dial.setValue)self.co

Python 编程 - numpy polyfit 说 NAN

我在编写的非常简单的代码中遇到了一些问题。我有4组数据,想使用numpypolyfit生成多项式最佳拟合线。其中3个列表在使用polyfit时产生数字,但第三个数据集在使用polyfit时产生NAN。下面是代码和打印输出。有任何想法吗?代码:所有的“ind_#”都是数据列表。下面将它们转换成numpy数组,然后可以生成多项式最佳拟合线ind_1=np.array(ind_1,np.float)dep_1=np.array(dep_1,np.float)x_1=np.arange(min(ind_1)-1,max(ind_1)+1,.01)ind_2=np.array(ind_2,np.

python - 在忽略 NaN 的同时采用 np.average?

我有一个形状为(64,17)的矩阵对应于时间和纬度。我想取一个加权纬度平均值,我知道np.average可以这样做,因为与我用来平均经度的np.nanmean不同,权重可以在参数中使用。然而,np.average并不像np.nanmean那样忽略NaN,所以我每行的前5个条目都包含在纬度平均中,并使整个时间序列充满NaN。有没有一种方法可以在不将NaN包含在计算中的情况下进行加权平均?file=Dataset("sst_aso_1951-2014latlon_seasavgs.nc")sst=file.variables['sst']lat=file.variables['lat']s

python - 在没有 fillna 或 Interpolate 的情况下从数据框中删除 NaN 值

我有一个数据集:3672354198959921941999-01-118511999-03-23NaN4NaN1999-04-30NaNNaN11999-06-02NaN9NaN1999-08-082NaNNaN1999-08-12NaN3NaN1999-08-17NaNNaN101999-10-22NaN3NaN1999-12-04NaNNaN42000-03-042NaNNaN2000-09-299NaNNaN2000-09-309NaNNaN当我绘制它时,使用plt.plot(df,'-o')我得到这个:但我想要的是将每一列的数据点连接成一条线,如下所示:我知道matplotl