python - python中重复坐标的属性总和
问题描述
我正在浏览我的坐标数据,由于某些预处理,我看到一些具有不同参数的重复坐标。我希望能够合并匹配坐标对应的属性并得到简化的结果。为了澄清我的意思是一个例子:
X = [1.0, 2.0, 3.0, 2.0]
Y = [8.0, 3.0, 4.0, 3.0]
A = [13, 16, 20, 8]
上述数据读取如下:点(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]
24 是坐标相同的第二点和第四点的 16 和 8 之和,因此保留一个点并将值相加。
我不知道如何做到这一点,我想过使用嵌套的坐标拉链循环,但我不知道如何制定它来总结属性。
任何帮助表示赞赏!
解决方案
我认为维护 3 个列表有点尴尬。就像是:
D = dict()
for x,y,a in zip(X,Y,A):
D[(x,y)] = D.get((x,y),0) + a
会把所有东西放在一个地方。
如果您希望将其分解回 3 个列表:
for (x,y),a in D.items():
newX.append(x)
newY.append(y)
newA.append(a)
推荐阅读
- azure - 部署诊断设置的 ARM 模板不启用指标日志
- python-3.x - 添加 2 个 numpy nd.array
- c++ - 程序无法启动,因为缺少 libmpc-3.dll
- python-3.x - 我可以通过 Kubernetes API 获取 Pod 的暂停容器 ID 吗?
- powershell - 未安装 SharePoint Online Management Shell
- ruby-on-rails - Turbolinks - 拒绝执行内联脚本,因为它违反了以下内容安全政策
- android - 在 Android 中使用 OpenCV 进行人脸识别
- javascript - 如果选中单选框,则使用 javascript 重定向
- javascript - ES6:意外的令牌导入
- python - subprocess.call throwing [WinError 123] 文件名、目录名或卷标语法不正确