Возможная ошибка в Django при выборе pandas DataFrame?
Я создаю проект Django, код которого довольно сложен. По этой причине я разбил его на несколько файлов, которые вызываются из models.py. Но поскольку код сложный, я хотел бы запускать код отдельно, чтобы отладить его.
У меня есть простой кусок кода, который выглядит следующим образом:
print('DF:\n', df)
selection = df[df[sel_crit] >= sel_val]
print('SELECTION\n', selection)
В приведенных ниже примерах: sel_crit - "Покрытие" и sel_val - 0.1. Значение df равно (первый оператор печати):
DF:
cpu Status Coverage Distance Lyapunov FractDim Missers Uninteresting Coefficients
28 0.067678 1.0 0.107931 95.987910 NaN 0.569875 0.0 0.0 IQLHUFOFBKCJGUSQGPJPTPNUDPMTPAU
304 0.124464 1.0 0.107508 93.144860 0.032726 NaN 0.0 0.0 IUMOUMOGSHJIIPPPCNCCOJLHQFPZHPU
1241 0.123443 1.0 0.107392 82.698345 26.796081 0.999999 0.0 0.0 ILGDKLOSWHPJIPPPCTBITJLLQLPLCUM
117 0.123463 1.0 0.106203 80.419825 -0.862029 0.602059 0.0 0.0 ILJEHSNGNHGGIJJLFNJPOBAUDQALHUM
386 0.131001 1.0 0.102985 73.330918 -3.630947 NaN 0.0 0.0 INTDEKECMIQPLKELOBHJHLREUDGKAMG
1117 0.125086 1.0 0.096597 79.500703 -0.793354 0.371611 0.0 0.0 IKHRKQQPAEGLLCBFFPCQPROBUMLGCOH
797 0.123657 1.0 0.094546 97.020646 0.828907 1.204119 0.0 0.0 IGXYLPLFCHSPMHHDMFCREMMPAWPUFQL
356 0.126138 1.0 0.091071 88.329201 -0.361238 1.414972 0.0 0.0 IKKQLLHCNLGLLSHLEPIQCIGKKDHTFBH
675 0.123957 1.0 0.072746 103.955944 15.489624 1.531477 0.0 0.0 IQUAUIFLCCQPZKHYIGLOHMHSONMXCPW
182 0.123799 1.0 0.065901 63.458365 -0.523814 1.903088 0.0 0.0 ITMBUJLNUOMGTVNDPNJVOCNUDSMTMIU
Результаты, полученные сервером выполнения Djando:
SELECTION
cpu Status Coverage Distance Lyapunov FractDim Missers Uninteresting Coefficients
28 NaN NaN 0.107931 NaN NaN NaN NaN NaN NaN
304 NaN NaN 0.107508 NaN NaN NaN NaN NaN NaN
1241 NaN NaN 0.107392 NaN NaN NaN NaN NaN NaN
117 NaN NaN 0.106203 NaN NaN NaN NaN NaN NaN
386 NaN NaN 0.102985 NaN NaN NaN NaN NaN NaN
1117 NaN NaN NaN NaN NaN NaN NaN NaN NaN
797 NaN NaN NaN NaN NaN NaN NaN NaN NaN
356 NaN NaN NaN NaN NaN NaN NaN NaN NaN
675 NaN NaN NaN NaN NaN NaN NaN NaN NaN
182 NaN NaN NaN NaN NaN NaN NaN NaN NaN
Нормальный вывод (при самостоятельном выполнении кода в python):
SELECTION
cpu Status Coverage Distance Lyapunov FractDim Missers Uninteresting Coefficients
28 0.067678 1.0 0.107931 95.987910 NaN 0.569875 0.0 0.0 IQLHUFOFBKCJGUSQGPJPTPNUDPMTPAU
304 0.124464 1.0 0.107508 93.144860 0.032726 NaN 0.0 0.0 IUMOUMOGSHJIIPPPCNCCOJLHQFPZHPU
1241 0.123443 1.0 0.107392 82.698345 26.796081 0.999999 0.0 0.0 ILGDKLOSWHPJIPPPCTBITJLLQLPLCUM
117 0.123463 1.0 0.106203 80.419825 -0.862029 0.602059 0.0 0.0 ILJEHSNGNHGGIJJLFNJPOBAUDQALHUM
386 0.131001 1.0 0.102985 73.330918 -3.630947 NaN 0.0 0.0 INTDEKECMIQPLKELOBHJHLREUDGKAMG
При различных значениях dataframe я получаю один и тот же результат. Самостоятельная версия дает правильные результаты, а версия Django - неправильные.
Весь код находится в каталоге <app> каталога <project>. Самостоятельный код состоит из главной программы, которая запускает код в каталоге <app>. Код в каталоге <app> вызывается программой models.py.
Я не могу объяснить, почему вывод Django настолько совершенно неправильный. Может ли кто-нибудь объяснить, что здесь происходит и, лучше, как я могу получить правильные результаты с сервера?