我正在使用Trackpy演练(http://soft-matter.github.io/trackpy/v0.3.0/tutorial/walkthrough.html),但使用的是我自己的照片。在计算总漂移速度时,会出现此错误,但我不知道这是什么意思:drift error
我没有大量的编码经验,所以我什至不确定如何查看源代码以了解正在发生的事情。
答案 0 :(得分:0)
您的屏幕快照显示了错误的回溯,即您调用了一个函数tp.compute_drift()
,但是此函数调用了另一个函数pandas_sort()
,该函数调用了另一个函数,依此类推,直到raise ValueError(msg)
被称为中断链。最后一行是实际的错误消息:
ValueError: 'frame' is both an index level and a column label, which is ambiguous.
要理解它,您必须知道Trackpy将数据存储在pandas库的DataFrame
对象中。您要从中提取漂移运动的跟踪数据存储在这样的对象t2
中。如果打印t2
,则可能看起来像这样:
y x mass ... ep frame particle
frame ...
0 46.695711 3043.562648 3.881068 ... 0.007859 0 0
3979 3041.628299 1460.402493 1.787834 ... 0.037744 0 1
3978 3041.344043 4041.002275 4.609833 ... 0.010825 0 2
“框架”一词是两列的标题,这混淆了排序算法。如错误消息所述,按表对表进行排序是不明确的。
解决方案
索引(最左侧)列在这里不需要名称,因此请使用
删除它t2.index.name = None
,然后重试。检查是否具有最新的Trackpy和Pandas版本。