作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在下面有一张表,A、B、C、D、E 项实际上是相同的类型,但在“Old_Group”列中,它被分组为 M1、M2 和 M3。
有没有办法可以根据他们的共享项目检测他们的组?在这种情况下,M1 和 M3 都有共享项“A”,因此即使它们有其他不同的项,也可以将它们视为同一类型的项,因此应该将它们分组在一起,并且由于项 G 和 H 不'不会出现在任何其他组中,它们将被分配到另一个组中。我希望结果类似于“New_Group”列。
在真实的表中,有更多的项目,所以我想知道是否有更快的方法来正确分组它,“New_Group”的组号可以分配一个随机但不重复的数字。
非常感谢您提前。
元素
Old_Group
新建_组
一种
M1
N1
乙
M1
N1
C
M1
N1
一种
M2
N1
乙
M2
N1
一种
M3
N1
D
M3
N1
乙
M3
N1
G
M4
氮气
H
M4
氮气
最佳答案
这更像是网络问题,试试 networkx
import networkx as nx
G=nx.from_pandas_edgelist(df, 'item', 'Old_Group')
l=pd.Series(list(nx.connected_components(G))).map(list).explode()
df['New'] = df.Old_Group.map(dict(zip(l,l.index)))
df
Out[75]:
item Old_Group New_Group New
0 A M1 N1 0
1 B M1 N1 0
2 C M1 N1 0
3 A M2 N1 0
4 B M2 N1 0
5 A M3 N1 0
6 D M3 N1 0
7 E M3 N1 0
8 G M4 N2 1
9 H M4 N2 1
关于python - 如何根据 pd 数据框中的共享项对对进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65930248/
我有一个项目存储在 HttpContext 中: HttpContext.Current.Items["myItem"] = "123"; 我可以从任何页面的方法访问这个没有问题。例如: protec
我是一名优秀的程序员,十分优秀!