【发布时间】:2020-10-02 16:06:54
【问题描述】:
平台:数学
我有一个属于各个连接路径(轨迹)的 x 和 y 坐标表:
{{Trajectory, Frame, x, y}, {1, 0, 158.22, 11.519}, {1, 1, 159.132, 11.637}, ... {6649, 1439, 148.35, 316.144}}
表格格式如下:
Trajectory Frame x y
------------------------------------------
1 0 158.22 11.519
1 1 159.13 11.637
1 2 158.507 11.68
1 3 157.971 11.436
1 4 158.435 11.366
1 5 158.626 11.576
2 0 141 12 remove this row, path too short!
2 1 143 15 remove this row, path too short!
2 2 144 16 remove this row, path too short!
2 3 147 18 remove this row, path too short!
3 0 120 400
3 1 121 401
3 2 121 396
3 3 122 394
3 4 121 392
3 5 120 390
3 6 124 388
3 7 125 379
...
我想删除轨迹总长度小于“n”帧/行/元素(本例为 5 帧)的任何元素/行。该列表的元素长度约为 80k,我想删除所有包含指定阈值以下轨迹的行。
对于给定的示例,轨迹 2 仅存在 4 帧,因此我想删除轨迹 2 的所有行。
我是 Mathematica 的新手,我什至不知道从哪里开始。我想可能会创建一个列表,其中包含Count[] 值小于阈值的轨迹编号,然后有条件地使用DeleteCases[] 之类的东西消除遵循该模式的任何元素,但我无法给出很远我有限的语法知识。
感谢您的帮助并期待解决方案!
【问题讨论】:
标签: optimization nested coordinates wolfram-mathematica delete-row