我有三个列表X,Y,Z如下:
X: [1, 1, 2, 3, 4, 5, 5, 5]
Y: [3, 3, 2, 6, 7, 1, 1, 2]
Z: [0, 0, 1, 1, 2, 3, 3, 4]
Run Code Online (Sandbox Code Playgroud)
我试图在列表的相同索引处删除两个重复的值集,得到如下的缩减列表,所有三个列表在最初和结束时始终具有相同的长度:
X: [2, 3, 4, 5]
Y: [2, 6, 7, 2]
Z: [1, 1, 2, 4]
Run Code Online (Sandbox Code Playgroud)
我尝试使用zip(X,Y,Z)函数,但我无法对其进行索引,而dict.fromkeys只删除其中一个重复项,并将另一个留在新列表中.我希望能够删除这两个.
任何帮助表示赞赏!
我正在查看我的坐标数据,由于某些预处理,我看到一些具有不同参数的重复坐标.我希望能够合并对应于匹配坐标的属性,并获得简化的结果.澄清我的意思是一个例子:
X = [1.0, 2.0, 3.0, 2.0]
Y = [8.0, 3.0, 4.0, 3.0]
A = [13, 16, 20, 8]
Run Code Online (Sandbox Code Playgroud)
以上数据如下:点(1.0,8.0)的值为13,(2.0,3.0)的值为16.请注意,第二点和第四点具有相同的坐标但属性值不同.我希望能够从坐标列表中删除重复项并对属性求和,以便结果为新列表:
New_X = [1.0, 2.0, 3.0]
New_Y = [8.0, 3.0, 4.0]
New_A = [13, 24, 20]
Run Code Online (Sandbox Code Playgroud)
24是具有相同坐标的第二和第四点的16和8之和,因此保持一个点并将值相加.
我不知道如何做到这一点,我想到使用嵌套的坐标拉链循环,但我不知道如何制定它来总结属性.
任何帮助表示赞赏!
考虑来自 networkx 的节点图,我如何应用所有节点的 kmean 集群,其中特定节点被视为集群的质心。换句话说,假设我们有这个图:
import networkx as nx
s = [0,3,2,3,4,5,1]
t = [1,2,7,4,6,6,5]
dist = [3,2,5,1,5,4,2]
G = nx.Graph()
for i in range(len(s)):
G.add_edge(s[i],t[i],weight=dist[i])
Run Code Online (Sandbox Code Playgroud)
我想在网络上应用 kmean 聚类,例如我选择质心为 3 和 6,图形将相应地聚类以生成两个子图(或与我输入的质心一样多)
我一直在看这里的 kmean 聚类https://www.learndatasci.com/tutorials/k-means-clustering-algorithms-python-intro/没有涵盖的是输入的质心,而是只考虑数字没有质心节点的集群。
I have three lists as follows:
x = [100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0, 100.0, 75.0, 50.0, 0.0]
y = [300.0, 300.0, 300.0, 300.0, 500.0, 500.0, 500.0, 500.0, 700.0, 700.0, 700.0, 700.0, 1000.0, 1000.0, 1000.0, 1000.0, 1500.0, 1500.0, 1500.0, 1500.0, 2000.0, 2000.0, 2000.0, 2000.0, 3000.0, 3000.0, 3000.0, 3000.0, 5000.0, 5000.0, …Run Code Online (Sandbox Code Playgroud) 我有两个清单:
a = [[9, 5], [9, 10000], [9, 10000], [5, 10000], [5, 10000], [10001, 10], [10001, 10]]
b = [19144.85, 8824.73, 26243.88, 23348.02, 40767.17, 55613.43, 40188.8]
Run Code Online (Sandbox Code Playgroud)
我试图删除a中的重复坐标并删除b中的相邻值,但保留最小值.因此,例如坐标[9,10000]重复两次,其中b的值为8824.73和26243.88,结果应该是两个列表,其中只有一个[9,10000],b中的较小值为8824.73.
总体而言,结果应如下所示:
aa = [[9,5],[9,10000],[5,10000],[10001,10]]
bb = [19144.85, 8824.73, 23348.02, 40188.8]
Run Code Online (Sandbox Code Playgroud)
我发现很难制定问题并遍历列表,我不知道如何使用zip功能.任何帮助表示赞赏!