intersect 相关问题

SQL intersect运算符返回两个表之间通用的行,而不返回重复记录。

查找两个二维数组之间的交集和差异

我有两个数组。 $paternalSiblings = fname => John lname => 母鹿性别 => Mbirth_year => 1988 fname => Sophie lname => Ellison 性别 => Fbirth_year =...

回答 2 投票 0

如何对多维数组进行求交和求异

我有两个数组。 $paternalSiblings = fname => John lname => 母鹿性别 => Mbirth_year => 1988 fname => Sophie lname => Ellison 性别 => Fbirth_year =...

回答 2 投票 0

更新在两个或多个多边形中有交集的多边形

我有2个表,表#1包含一个方形多边形/网格,表#2包含行政区域的多边形。我使用 ST_Intersects() 函数使用表 #2 中的数据更新了表 #1。这里...

回答 1 投票 0

计算另一个数据帧中一个数据帧中的值

假设我有一个像这样的数据框: df <- data.frame( D = c('A', 'B', 'C'), Q = c('asd', 'reg', 'rt'), id = I(list(c(124, 532, 78), c(1, 3, 532), c(2, 3, 78, 124, 1))) ) and another one ...

回答 1 投票 0

C# Linq 与对象的一部分相交/除外

我有一堂课: 本类 { 私有字符串 a {get;放;} 私有字符串 b {get;放;} } 我想使用 Linq 的 Intersect 和 except 方法,即: 私人名单 我有课: class ThisClass { private string a {get; set;} private string b {get; set;} } 我想使用 Linq 的 Intersect 和 except 方法,即: private List<ThisClass> foo = new List<ThisClass>(); private List<ThisClass> bar = new List<ThisClass>(); 然后我分别填写这两个列表。例如,我想做以下事情(我知道这是不对的,只是伪代码): foo[a].Intersect(bar[a]); 我该怎么做? 如果您想要一个要相交的单个属性的列表,那么所有其他漂亮的 LINQ 解决方案都可以正常工作。 但!如果你想在整个类上相交,结果有一个 List<ThisClass> 而不是 List<string>,你必须编写自己的相等比较器。 foo.Intersect(bar, new YourEqualityComparer()); 与Except相同。 public class YourEqualityComparer: IEqualityComparer<ThisClass> { #region IEqualityComparer<ThisClass> Members public bool Equals(ThisClass x, ThisClass y) { //no null check here, you might want to do that, or correct that to compare just one part of your object return x.a == y.a && x.b == y.b; } public int GetHashCode(ThisClass obj) { unchecked { var hash = 17; //same here, if you only want to get a hashcode on a, remove the line with b hash = hash * 23 + obj.a.GetHashCode(); hash = hash * 23 + obj.b.GetHashCode(); return hash; } } #endregion } 也许 // returns list of intersecting property 'a' values foo.Select(f => f.a).Intersect(bar.Select(b => b.a)); 顺便说一句,属性a应该是公开的。 不确定与相交和比较相比的速度,但怎么样: //Intersect var inter = foo.Where(f => bar.Any(b => b.a == f.a)); //Except - values of foo not in bar var except = foo.Where(f => !bar.Any(b => b.a == f.a)); foo.Select(x=>x.a).Intersect(bar.Select(x=>x.a)) 到底想要的效果是什么?当通过 a 的唯一值标识两个 ThisClass 实例时,您想要获取由类中所有 ThisClass 组成的字符串列表,还是 a 列表? 如果是前者,@lazyberezovksy 和 @Tilak 的两个答案应该有效。如果是后者,您必须重写 IEqualityComparer<ThisClass> 或 IEquatable<ThisClass>,以便 Intersect 知道是什么使 ThisClass 的两个实例等效: private class ThisClass : IEquatable<ThisClass> { private string a; public bool Equals(ThisClass other) { return string.Equals(this.a, other.a); } } 然后您可以拨打: var intersection = foo.Intersect(bar); 我知道这已经很旧了,但是你不能重写类本身的 Equals 和 GetHashCode 吗? class ThisClass { public string a {get; set;} private string b {get; set;} public override bool Equals(object obj) { // If you only want to compare on a ThisClass that = (ThisClass)obj; return string.Equals(a, that.a/* optional: not case sensitive? */); } public override int GetHashCode() { return a.GetHashCode(); } } 您可以尝试以下方法。这是一个 lambda 表达式,其中我们将项目定义为 ThisClass 变量,并将等式定义为 foo 和 bar 之间的内部 lambda 表达式。在 where 子句中,我们根据字段 a 获取满足等式 creteria 的元素,并且因为这返回匿名类型的类,所以我们选择 q.item 来表示 ThisClass 中满足等式的所有项,并给出 IEnumerable 类型。 IEnumerable<ThisClass> Intersection = foo.Select(x => new { item = x, equality = bar.Any(y => y.a.Equals(x.a)) }).Where(w => w.equality).Select(q => q.item); 您应该创建 IEqualityComparer。您可以将 IEqualityComparer 传递给 Intersect() 方法。这将帮助您更轻松地获得列表(与栏相交)。 var intersectionList = foo.Intersect(bar, new ThisClassEqualityComparer()).ToList(); class ThisClassEqualityComparer : IEqualityComparer<ThisClass> { public bool Equals(ThisClass b1, ThisClass b2) { return b1.a == b2.a; } public int GetHashCode(Box bx) { // To ignore to compare hashcode, please consider this. // I would like to force Equals() to be called return 0; } }

回答 8 投票 0

c# 某些元素未显示在列表交集处

我正在尝试获取两个列表的共同元素。示例如下: var control = "F, H, S, W".Split(',').ToList(); var 驱动器 = 新列表 {"C", "...

回答 1 投票 0

循环列表行并提取列数据以填充另一个工作表上的计划

我在过去几个月内刚刚开始在一个项目上使用 VBA,并且我陷入了[感觉像是]一个非常高级的问题集,我需要迭代表中的每一行(&q...

回答 1 投票 0

POSTGIS TopologyException:侧面位置冲突

我正在尝试执行一个简单的 st_intersects 查询: 选择 st_intersects('MULTIPOLYGON(((1 5,4 8,7 5,4 2,1 5)),((5 5,8 8,11 5,8 2,5 5)))','POLYGON(( 3 4.5,3 5,4 5,4 4,3 4.5))'); 这粉碎了公司...

回答 3 投票 0

Power Bi - 相交函数返回数量

考虑下面的原始数据 OPTYID 帐户ID 产品 关闭 开始 结尾 数量 12 1 A 23 年 1 月 1 日 23 年 1 月 1 日 23 年 2 月 1 日 10:00 13 1 A 23 年 2 月 1 日 23 年 2 月 1 日 23 年 9 月 10 日 2.00 17 号 2 A 23 年 2 月 1 日 23 年 2 月 1 日 9 月 10 日...

回答 1 投票 0

在为组重置时计算两行之间的时间差 - 热门,谢谢社区

就我而言,我有不同的合作伙伴 (ENCOUNTER_ID)。每一项都可以有一项或多项评估。 我需要计算他们每次评估之间的时间差。随着时间

回答 1 投票 0

geopandas sjoin op 'within' 和 'intersects' 有何不同

我正在识别一个点是否位于多边形内。我有一个数据框包含点,另一个数据框包含多边形,所以我想将它们空间连接起来,如下所示: gpd.sjoin(df_points,

回答 2 投票 0

如何计算两条线的交点?

我有两条线相交于一点。我知道两条线的端点。如何在Python中计算交点? # 给定这些端点 #第1行 A = [X, Y] B = [X, Y] #线...

回答 11 投票 0

将多边形裁剪到边界框而不丢失框边缘

我正在尝试将多边形裁剪到一个盒子中 到目前为止我得到的功能是: 将 numpy 导入为 np defcrop_polygon(x, y, xmin, xmax, ymin, ymax): # 创建一个掩码来识别边界 b 内的点...

回答 1 投票 0

R 中求对称差(交集相反)的函数?

问题 我有两个不同长度的字符串向量。每个向量都有一组不同的字符串。我想找到一个向量中但不在两个向量中的字符串;即对称

回答 4 投票 0

Excel SUMIF 公式适用于列中具有“总计”、行具有“可佣金”且行具有不可佣金的单元格

我正在寻求一些帮助来编写 SUMIF 公式或更好的替代方案。这个想法是单元格 I20 中的总计将自动 总结与不可委托的行相交的单元格...

回答 3 投票 0

如何将2个表的数据按降序排列,然后将两个表相交?

问题:使用 mssql 检查 Rahul 在第 1 学期和第 2 学期得分最高的 3 个科目中是哪个科目? 如果我在相交之前使用 order by ,则代码不起作用。但如果我不对数据进行排序...

回答 1 投票 0

Redshift SQL 数组相交

Redshift中有数组相交函数,或者可以完成的好方法吗? 例如,在雪花中它是: SELECT array_intersection(ARRAY_CONSTRUCT('A', 'B'), ARRAY_CONSTRUCT('B', 'C'));...

回答 1 投票 0

如何自动比较r中两个不同data.frames的两列中的值?

我正在尝试为两个数据框的所有列自动化以下函数。 我有 data.framesposition_sc 和position_hit。两者都有 18 列(每列代表一个主题(&quo...

回答 0 投票 0

跨数据帧匹配列名称并添加新变量

数据<- rbind(c(1,2,3,4,5,6), c(1,2,3,4,5,6), c(1,2,3,4,5,6)) colnames(data) <- c("A", "B", "C", "D", "E", "F&

回答 1 投票 0

SQL 与按列值分组的交集

我想在基于另一列的一列的值之间相交。我的意思是,如果我在 Id 列中有三个不同的值,我希望 LineGroupBy 列的值被假定为一组(Id ...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.