- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道这个题目很难理解,但我不知道如何用一句话描述我的问题...T^T
这是我正在尝试做的事情。
我有一组分为三类的一维点。
A = [[0,1], [0,2], [0,3], [1,1], [2,1], [3,2], [3,3], [4,2], [4,3], [5,3], [6,3]]
第一个数字是 x 坐标,第二个数字是每个 [ ] 中的标签
并且我想在每一对相邻点 [x1, L1], [x2, L2] 中插入一个切点,如果它们中至少有一个具有不止一种标签并且 L2 属于那些不同于L1.;;;
例如,
[0,1], [0,2], [0,3]
都在x = 0上但是有3种标签
[1,1]
只属于一个类别,所以我想在0和1中间加一个切点x=0.5。
3 x
2 x
1 x 1
x
0-x-1-
但是喜欢
[1,1] and [2,1]
它们都只有一个相同的label,这里不需要加切点。
所以结果应该是[0.5、2.5、3.5、4.5]
也许看起来像这样
3 x x 3 x 3 x 3 3 <--Label
2 x x 2 x 2 x <--Label
1 x 1 1 x x x <--Label
x x x x
-0-x-1---2-x-3-x-4-x-5---6--- <--X-axis
0.5 2.5 3.5 4.5 <--Cut points
我想写的代码看起来像这样
A = [[0,1], [0,2], [0,3], [1,1], [2,1], [3,2], [3,3], [4,2], [4,3], [5,3], [6,3]]
X = []
for a in A:
X.append(a[0])
X = sorted(list(set(X)))
labels = [[1], [2], [3]]
group = []
for i in range(len(labels)):
group.append([])
for a in A:
for i in range(3):
if a[1] in labels[i]:
group[i].append(a[0])
cutpoints = []
for i, x in enumerate(X):
for j in range(len(group)):
if x in group[j] and (X[i+1] in group[ other than j ]):
cutpoints.append((x+X[i+1])/2)
但我卡在了“除了j”的部分在这种情况下,只有 3 个类别,所以也许我可以手动执行此操作,但我正在寻找一种更聪明的方法来做到这一点,这样我就不需要每次遇到具有不同数量类别的新数据时都重写这部分.
有什么函数可以用来做“除 j 以外”的操作吗??
任何评论或回答将不胜感激。提前致谢 T^T
最佳答案
这是您遇到的一个奇怪的问题,但这是一种实用的方法。
from itertools import groupby
groupby
将让我们轻松合并您的 X 坐标,假设数组已按它们预先排序。
l = [(i, [x[1] for x in g]) for i, g in groupby(A, lambda x: x[0])]
这看起来有点令人生畏,但在概念上非常简单。 groupby
将所有共享 X 的东西放在一起,内部列表理解只是将 X 值转储出来:
l
[(0, [1, 2, 3]),
(1, [1]),
(2, [1]),
(3, [2, 3]),
(4, [2, 3]),
(5, [3]),
(6, [3])]
然后,如果我们使用 zip
将每个元素与下一个元素组合在一起,我们就可以挑选出满足您的条件的对并获得它们之间的中点:
[(i1+i2) / 2.
for (i1, l1), (i2, l2)
in zip(l, l[1:])
if l1 != l2 or len(l1) > 1]
[0.5, 2.5, 3.5, 4.5]
关于python - 如何定义一个元素属于其他类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38758367/
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 9 个月前关闭。 Improve
我使用 partykit打包并遇到以下错误消息: Error in matrix(0, nrow = mi, ncol = nl) : invalid 'nrow' value (too large
我一直在尝试寻找一个量表或分类指标,为 VADER 情绪分析分配一些情感程度,而不仅仅是积极、消极或中性。如果有人可以分享他们的观点或资源来帮助按以下方式对 VADER 复合分数进行分类,我将非常感激
伙计们,我想自动循环..但我不知道是我放错了 while 还是循环错了? 我的数据库 标签:kt_barang kd_kategori | nama_kategori 1
我正在创建一个列出本地企业并按类别、子类别和关键字对它们进行分组的应用程序。以下是企业排序规则: 一个企业可以属于多个类别和子类别 一个企业可以有多个关键字 并非每个类别都有子类别,但有子类别的只有两
我有一系列单词 - 我的刺激 - 它们显示在屏幕上。然而,每个词都有另一个“条件”,即它们是类别 A、类别 B 或类别 C。这可能很简单,但我找不到答案并坚持下去。我的最终目标是在每次运行脚本时将类别
我正在使用 Laravel 5.5 和 MySql。如果不向 Services 表中添加 subCategoryID 列,我无法弄清楚如何将类别和子类别与服务相关联。 目前这是我的表结构 服务类别 i
我有两个部分/类别结构的链接表。 the section table structure id sec_title 1 section 1 2 section 2 the category str
我有一个类层次结构如下 @interface PTLDatasource : NSObject ... @interface PTLFetchedDatasource : PTLDatasource
我有一个 DataFrame df 一列,category 使用以下代码创建: import pandas as pd import random as rand from string import
我经常在多个类中设置获取请求以从核心数据(加上一些其他结果)中检索“allRecipes”或“lastModifiedDate”。 为此使用专门的类别 NSManagedObjectContext+R
可以在 Objective C 中创建类别之间的依赖关系吗?也在类别和它们的基类之间? 我知道在运行时应该没有区别,它们可能只是在编译时合并在一起。例如,假设我将 B 类分解为: B(base cla
这个问题在这里已经有了答案: 关闭 10 年前。
example img of a category selection by user 嘿,我正在尝试设置一个选择,用户必须选择一个类别和第二个类别,但我不知道如何获取他单击的信息。用户单击类别后,它
尝试将投资组合库添加到我正在制作的自定义 wp 主题中。我已经筋疲力尽地试图寻找甚至可以修改一些的解决方案和插件。我认为我在寻找解决方案时遇到的一个问题是我不完全确定哪些搜索词可以帮助我找到与我想要实
当我查看 Cocoa Touch API 时,我可以在同一个头文件中找到一些与类别一起声明的类,例如 @interface NSArray : NSObject @property (readonl
我的 log4j.properties 中有以下内容 log4j.rootLogger = debug, stdout, fileLog log4j.appender.stdout = org.apa
如果我在类中添加类别方法,比如NSXMLNode: @interface NSXMLNode (mycat) - (void)myFunc; @end NSXMLNode 的子类,例如 NSXMLEl
先说场景,wordpress的分类结构是这样的 Level 1: Top Level 2: -Nextme_1 Level 3: --Nextme_2 --Nextme_3 Leve
我有一个解析网络,现在我想浏览标签,或显示图表。我怎样才能得到图表?或者在树中导航。显示第一步然后其他等。并了解这棵树是如何 build 的。 import urllib from lxml impo
我是一名优秀的程序员,十分优秀!