python-3.x - 根据坐标值减少多个数组
问题描述
我有 5 个列表:
X = [0,1,2,3,4,0,1,2,3,6]
Y = [9,8,7,6,4,9,4,7,6,3]
R = [1,2,3,4,5,6,7,8,9,0]
P = [2,4,6,8,10,12,14,16,18,20]
Q = [1,3,5,7,9,11,13,15,17,19]
给定重复坐标,我想对引用坐标的属性求和,例如 X[0] = 0 和 Y[0] = 9 这个点在 X[5] 和 Y[5] 处重复,但 R、P 不同, Q 值 R[0] != R[5] 等等。
我正在尝试生成一个具有唯一坐标和重复坐标的总和值的列表,以生成如下所示的新 X、Y、R、P、Q:
X = [0,1,2,3,4,1,6]
Y = [9,8,7,6,4,4,3]
R = [7,2,11,13,5,7,0]
P = [14,4,22,26,10,14,20]
Q = [14,3,20,24,9,11,19]
我无法制定这个问题,任何帮助表示赞赏!
解决方案
如果你使用 pandas,它看起来像这样:
import pandas as pd
X = [0,1,2,3,4,0,1,2,3,6]
Y = [9,8,7,6,4,9,4,7,6,3]
R = [1,2,3,4,5,6,7,8,9,0]
P = [2,4,6,8,10,12,14,16,18,20]
Q = [1,3,5,7,9,11,13,15,17,19]
df = pd.DataFrame([X, Y, R, P, Q])
X, Y, R, P, Q = df.T.groupby([0,1]).sum().reset_index().T.values
这会产生:
[0 1 1 2 3 4 6]
[9 4 8 7 6 4 3]
[ 7 7 2 11 13 5 0]
[14 14 4 22 26 10 20]
[12 13 3 20 24 9 19]
请注意,订单未保留,但数字匹配。
推荐阅读
- javascript - 通过 JavaScript matchMedia 切换 HTML 视频源
- mysql - 表中是否可以有一个切换唯一索引?
- python - 502错误的网关。在“digitalocean”上实施应用程序后
- javascript - JavaScript 给出错误的输出
- sim900 - 使用 sim800C 发送多个 post 请求
- apache-kafka - Avro Schema Registry 的价值是什么?
- r - 如何将数据读入R中的列联表
- angular - 为什么 RxJS 过滤方法对我不起作用
- reactjs - 在 SVG 中使用外部样式表在 JSX 中不起作用
- laravel - Laravel 电子邮件验证让“user@hotmail”通过