Почему Trackpy выдает ошибку, когда я пытаюсь вычислить общую скорость дрейфа? - PullRequest
0 голосов
/ 31 октября 2019

Я прохожу прохождение по Trackpy (http://soft -matter.github.io / trackpy / v0.3.0 / tutorial / walkthrough.html ), но использую свои собственные изображения. Когда я вычисляю общую скорость дрейфа, я получаю эту ошибку, и я не знаю, что это означает: ошибка дрейфа

У меня нет тонны опыта кодирования, поэтому яЯ даже не уверен, как смотреть на исходный код, чтобы выяснить, что происходит.

1 Ответ

0 голосов
/ 06 ноября 2019

На вашем снимке экрана показана трассировка ошибки, т.е. вы вызвали функцию, tp.compute_drift(), но эта функция вызвала другую функцию, pandas_sort(), которая вызывала другую функцию и т. Д., Пока не будет вызвана raise ValueError(msg), которая прерывает цепочку,Последняя строка - это фактическое сообщение об ошибке:

ValueError: 'frame' is both an index level and a column label, which is ambiguous.

Чтобы понять это, вы должны знать, что Trackpy хранит данные в DataFrame объектах из библиотеки pandas . Данные отслеживания, из которых вы хотите извлечь дрейфовое движение, хранятся в таком объекте 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...