Одномерное расстояние Махаланобиса в Python

Я пытался проверитьсвой код для вычисления расстояния Махаланобиса, написанного на Python(и дважды проверить, чтобы сравнить результат в OpenCV ) Мои точки данных имеют по 1 измерению (5 строк x 1 столбец).

В OpenCV (C++)мне удалось вычислить расстояние Махаланобиса, когда измерениеточки данных имело вышеуказанные размеры.

Следующий код был неудачнымпри вычислении расстояния Махаланобиса, когда размерность матрицы составляла 5 строк x 1 столбец. Но это работает, когда количество столбцов в матрице больше 1:

import numpy;
import scipy.spatial.distance;
s = numpy.array([[20],[123],,[103],[123]]);
covar = numpy.cov(s, rowvar=0);
invcovar = numpy.linalg.inv(covar)
print scipy.spatial.distance.mahalanobis(s[0],s[1],invcovar);
</code></pre>

 <p>Я получаю следующую ошибку:</p>

 <pre><code>Traceback (most recent call last):
  File "/home/abc/Desktop/Return.py", line 6, in <module>
    invcovar = numpy.linalg.inv(covar)
  File "/usr/lib/python2.6/dist-packages/numpy/linalg/linalg.py", line 355, in inv
    return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
IndexError: tuple index out of range
</code></pre>         </div>
         <div class="votes-question">
            <div class="vote-count" itemprop="upvoteCount">5</div><i class="fa fa-thumbs-o-up"></i>
         </div>
         <div class="tags">
            <a href="/questions/tagged/classification" class="tag"  title="classification" rel="tag">classification</a> <a href="/questions/tagged/python" class="tag"  title="python" rel="tag">python</a>         </div>
         <div class="clearfix"></div>
         <div class="action-time">
            задан garak            <span title="29 March 2012 в 23:53 ">29 March 2012 в 23:53 </span>
         </div>
         
         <a class="s-link" href="/questions/624120/odnomernoe-rasstojanie-mahalanobisa-v-python" title="поделиться">поделиться</a>
      </div>
   </div>
  <div style="height:100px;margin:10px 0px;" class="">

    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- siteask before post --> <ins class="adsbygoogle"      style="display:block;height:100px"
                                                                                                                             data-ad-client="ca-pub-2355906945027976"
                                                                                                                             data-ad-slot="" data-ad-format="auto"></ins>
    <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>

    </div>
   <div class="answers" id="answers">
   
      <h2 class="pull-left"><span itemprop="answerCount">0</span> ответов</h2>
      <div class="clearfix"></div>

      <div class="answer-pager">
         <div class="pagination">
                     </div>
      </div>

            <div style="margin-top: 20px;">
          Другие вопросы по тегам:          <div class="tags" style="display: inline-block; float: none;">
         <a href="/questions/tagged/classification" class="tag"  title="classification" rel="tag">classification</a> <a href="/questions/tagged/python" class="tag"  title="python" rel="tag">python</a>       </div>
        <h3 class="m-t-20">Похожие вопросы:</h3>

        <div class="related-block">
          <ul>
                          <li><div class='votes-answer green'><span class='vote-count'>145</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/89525/skrytye-vozmozhnosti-python-zakryto" title="Скрытые возможности Python [закрыто]">Скрытые возможности Python [закрыто]</a> - 23 May 2017 12:34 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>81</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/131651/luchshie-sposoby-uchit-novichka-k-programme-zakrytyj" title="Лучшие способы учить новичка к программе? [закрытый]">Лучшие способы учить новичка к программе? [закрытый]</a> - 24 November 2011 00:03 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>60</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/82771/kak-razbit-spisok-na-kuski-odinakovogo-razmera" title="Как разбить список на куски одинакового размера?">Как разбить список на куски одинакового размера?</a> - 23 May 2017 11:55 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>35</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/131196/pochemu-izuchajut-perl-python-ruby-esli-kompanija-ispolzuet-c-c-ili-java-kak-jazyk-prilozhenija-zakrytyj" title="Почему изучают Perl, Python, Ruby, если компания использует C++, C# или Java как язык приложения? [закрытый]">Почему изучают Perl, Python, Ruby, если компания использует C++, C# или Java как язык приложения? [закрытый]</a> - 20 May 2010 08:15 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>34</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/185568/rasprostranennye-oshibki-v-python-dublikat" title="Распространенные ошибки в Python [дубликат]">Распространенные ошибки в Python [дубликат]</a> - 23 May 2017 10:30 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>33</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/23418/vazhny-e-reversivny-e-pary-leetcode-time-out-duplicate" title="Важные реверсивные пары leetcode time out [duplicate] ">Важные реверсивные пары leetcode time out [duplicate] </a> - 25 October 2014 10:12 </li>
                            <li><div class='votes-answer green'><span class='vote-count'>31</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/444782/vy-znaete-kakie-libo-drugie-jazyki-programmirovanija-kotorye-imejut-interaktivnyj-rezhim-kak-python-zakrytyj" title="Вы знаете какие-либо другие языки программирования, которые имеют интерактивный режим как Python? [закрытый]">Вы знаете какие-либо другие языки программирования, которые имеют интерактивный режим как Python? [закрытый]</a> - 12 January 2013 01:59 </li>
                          </ul>
        </div>

      </div>
   </div>
   
</div>      </div>
      <aside class="sidebar">
        <div class="awrap">

<script async src="https://yastatic.net/pcode-native/loaders/loader.js"></script>
<script>
    (yaads = window.yaads || []).push({
        id: "553274-2",
        render: "#id-553274-2"
    });
</script>
<div id="id-553274-2"></div>
          <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:600px"
     data-ad-client="ca-pub-2355906945027976"
     data-ad-slot="8038370725"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>


        </div>
      </aside>

    </div>
  </div>
  <footer class="footer">
    <div class="wrapper wrapper--sm">
      <div class="footer-navs-col">
        <div class="footer-nav footer-nav--menu">

          <div class="footer-coryright">© 2017 - 2020 Вопросы и ответы по программированию</div>
        </div>
        <div class="footer-nav footer-nav--catalog">
        </div>
      </div>
      <div class="footer-contacts-col">
        <div class="soc-widget-col">
        </div>
      </div>
      <div class="clearfix"></div>
    </div>

  </footer>

</div>

<script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="/js/ui/external/jquery.cookie.js"></script>

<script type="text/javascript" src="/js/versions/menu.ru.u1607887878.js"></script>


<script type="text/javascript" src="/js/jquery.fancybox.min.js"></script>
<script type="text/javascript" src="/js/slick.min.js"></script>
<script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script>

<script type="text/javascript" src="/js/versions/scripts.ru.u1607887878.js"></script>


<!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; var z = null;m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(90030325, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/90030325" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter -->


<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-123993370-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-123993370-1');
</script>

</div>
<script type="application/ld+json">
  {
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Программирование - вопросы и ответы",
  "alternateName": "Программирование - вопросы и ответы",
  "url": "https://legkovopros.ru",
  "potentialAction": {
     "@type": "SearchAction",
     "target": "https://legkovopros.ru/search?search={search_term_string}",
     "query-input": "required name=search_term_string"
   }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Программирование - вопросы и ответы",
  "url": "https://legkovopros.ru",
  "logo": "https://legkovopros.ru/i/logo.png",
  "email": "info@legkovopros.ru",
   "telephone": ""

}




</script>
</body>
</html>