- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给定一个样本屏蔽数组和一个 KDTree 查询,
In [6]: data = np.arange(9).reshape((3,3))*1.0
In [7]: madata = np.ma.array(data)
In [9]: madata[1,1] = ma.masked
In [10]: madata
Out[10]:
masked_array(data =
[[0.0 1.0 2.0]
[3.0 -- 5.0]
[6.0 7.0 8.0]],
mask =
[[False False False]
[False True False]
[False False False]],
fill_value = 1e+20)
In [11]: from scipy.spatial import KDTree
In [12]: matree = KDTree(madata)
In [13]: matree.query([3,0,5])
Out[13]: (4.0, 1)
使用非屏蔽数组查询树是否有效?或应使用屏蔽数组,因为树是使用屏蔽数组构造的。
另一个问题,这是找到最相似数据对的合理方法,类似于为数值找到最相似的字符串吗?我的原始数据集大约是 50k x 20,其中包含许多缺失值。因此需要使用掩码数组和快速实现。
谢谢。
最佳答案
不要指望 KDTree 对屏蔽做任何特殊的事情。我的猜测是它按原样使用底层数据数组。
掩码数组具有 data
属性和 mask
属性。 np.ma
的函数和方法都兼顾了。但是对于许多任务,他们用合适的值填充
他们的数据,然后执行常规的 numpy
操作。例如,如果对行或列求和,它将用 0 替换被屏蔽的元素;如果拿一个产品,用1s。
研究 KDTree 文档。如果他们说了一些关于使用掩码数组的内容,请按照这些说明进行操作。但如果您没有找到任何东西,它可能会忽略掩码。
查看KDTree
代码。它的 init
开始于:
def __init__(self, data, leafsize=10):
self.data = np.asarray(data)
....
查看 np.asarray(madata)
。结果是底层的数据
;不再是蒙面数组。所以屏蔽数组没有区别。
看看当数据中有 Nan 时会发生什么:
In [256]: tree.data
Out[256]:
array([[ 0., 1., 2.],
[ 3., nan, 5.],
[ 6., 7., 8.]])
In [257]: tree.query([3,4,5])
C:\Users\paul\AppData\Local\Enthought\Canopy\User\lib\site-packages\scipy\spatial\kdtree.py:314: RuntimeWarning: invalid value encountered in maximum
side_distances = np.maximum(0,np.maximum(x-self.maxes,self.mins-x))
Out[257]: (5.196152422706632, 0)
默认设置是在 session (或上下文)中第一次遇到时显示这样的警告。
In [265]: np.maximum([1,2,0,np.nan],[3,2,0,0])
-c:1: RuntimeWarning: invalid value encountered in maximum
Out[265]: array([ 3., 2., 0., nan])
In [266]: np.maximum([1,2,0,np.nan],[3,2,0,0])
Out[266]: array([ 3., 2., 0., nan])
欢迎您研究 KDTree
代码,但看起来它只是让正常的 numpy
处理 nans 发生。它没有什么特别的。
可以省略 NaN 点吗?
压缩的掩码数组可能不是您想要的,因为它返回数组的扁平版本:
In [268]: madata.compressed()
Out[268]: array([ 0., 1., 2., 3., 5., 6., 7., 8.])
或者填写一些有用的东西?
In [271]: madata.filled(999)
Out[271]:
array([[ 0., 1., 2.],
[ 3., 999., 5.],
[ 6., 7., 8.]])
关于python - 带屏蔽数组的 KDTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36585998/
我需要创建一个 View (作为其他 View 的 mask ) 。圆圈是透明的,外部区域是半透明的。我可以使用 canvas.clipRegion(..) 来实现它,但是 http://develo
踏入爬虫的迷宫 多年以来,我一直是一个对编程充满了好奇心的人。探索着代码的世界,便如同探险家踏入密林深处,寻找未知的宝藏。最近,我将目光聚焦在了爬虫技术上,特别是百度搜索屏蔽问题上。 百度搜索的诱惑
我想将“www.adomain.com”重定向到“www.adomain.com/cms”。 cms 部分应该被屏蔽。 我无法让它安静地工作。因此“cms”始终是网址的一部分。 我尝试了这个解决方案:
我一直在我的 View Controller 中使用以下代码: UIView *view = [[CustomView alloc] init]; UIView *mask = [[CustomMas
如果是网页内容里面的alert,我们可以等网页加载完毕,也就是在webViewDidFinishLoad中执行下面的js代码,就可以屏蔽alert了
我正在使用 PyQt4 QLineEdit小部件接受密码。有一个setMasking属性,但不遵循如何设置屏蔽字符。 最佳答案 editor = QLineEdit() editor.setEchoM
我有一个包含员工信息的 Pandas 数据框,如下所示: df=pd.DataFrame({ 'Id':[1,2,3,4], 'Name':['Joe','Henry','Sam','
我正在为 iPhone 创建一个自定义开/关切换开关(类似于标准开关),并且我正在设置 slider 的蒙版,但调用 [[myView [layer] setMask:maskLayer] 设置
我如何能够在 Objective C 中屏蔽 nsimageview?例如,有一个带圆角的 nsimageview。 最佳答案 你不知道。如果你想以 NSImageView 不支持的方式绘制图像,则需
我正在开发一个可以更改边框或矩形 UIImage 的应用程序。边框会有所不同,但看起来 UIImage 是用剪刀剪掉的,或者有什么影响。 做到这一点的最佳方法是什么? 我的第一个想法是准备一堆具有我正
我需要屏蔽数据,就像在 Azure Pipelines 中一样,但位于 Azure 存储库文件内。有没有一种方法可以设置与脚本分开存储的变量,例如在 Azure 管道中: variable = $(S
我没有找到解决问题的简单方法。我想使用 TextInputDialog,您必须在其中键入用户密码,以重置数据库中的所有数据。 TextInputDialog 的问题是它没有屏蔽文本,我不知道有什么选择
我正在寻找一种自行开发的方法来扰乱生产数据以用于开发和测试。我已经构建了几个脚本来生成随机社会安全号码、轮类出生日期、打乱电子邮件等。但我在尝试打乱客户姓名时遇到了困难。我想保留真实姓名,这样我们仍然
我正在尝试使用过滤器来屏蔽 SSN 的前 5 位数字,它应该看起来像这样 XXX-XX-1234 到目前为止我想出了什么: // {{SocialSecurityNumber | ssn}} angu
我没有找到解决问题的简单方法。我想使用 TextInputDialog,您必须在其中键入用户密码,以重置数据库中的所有数据。 TextInputDialog 的问题是它没有屏蔽文本,我不知道有什么选择
我想屏蔽一个 Fortran 数组。这是我目前正在做的方式...... where (my_array <=15.0) mask_array = 1 elsewhere mask_ar
当用户在用户界面上输入时,我需要屏蔽数字,用户应该看到一个屏蔽的数字,但在 Java 代码上,我应该得到整个数字,包括屏蔽的字符用户应该看到什么 4545********9632但在 Java 代码(
我正在使用 javafx 文本字段。我需要输入数字以及应符合格式 ###.###.###.### 的小数其中小数点根本不可编辑,数字可以是任何数字;不允许其他输入。并非所有数字占位符都需要填写,例如它
我必须交付一个小型 C++ 软件。我想用一些实现(我使用了表达式模板)来掩盖头文件,以使最终用户难以辨认,因此他们无法修改它们。我无法将代码包含在静态或动态库中。有什么方法可以屏蔽头文件的内容吗? 谢
我正在开发一个与 gestureRecognizer 配合使用的应用程序。 使用手势可以选择 UIImage(例如 rectangle.png),并且可以使用 UIPopoverView 通过为所选图
我是一名优秀的程序员,十分优秀!