Averaging over columns while ignoring zero entriesOperations on a List of Vectors (Norm)Compute percentages in a listElegant way to map a function over the columns of an arrayHow to count number of observations/rows within each groupHow can Tally group elements that differ only by a sign together?Creating Average Grid data from Co-ordinate and value dataList manipulation, averaging over lists and fidelityHow to select elements from a list of pairs based on 2nd element of the pairSubtract value from listHow to list ArrayFilter?

I am the light that shines in the dark

How would an energy-based "projectile" blow up a spaceship?

Draw this image in the TIKZ package

Can I negotiate a patent idea for a raise, under French law?

Is there a logarithm base for which the logarithm becomes an identity function?

Vector-transposing function

Interpretation of linear regression interaction term plot

Why do we say 'Pairwise Disjoint', rather than 'Disjoint'?

Insult for someone who "doesn't know anything"

Paper published similar to PhD thesis

Why does a car's steering wheel get lighter with increasing speed

Can I challenge the interviewer to give me a proper technical feedback?

Generating a list with duplicate entries

How to make sure I'm assertive enough in contact with subordinates?

Short story about an infectious indestructible metal bar?

After Brexit, will the EU recognize British passports that are valid for more than ten years?

ESPP--any reason not to go all in?

Is the differential, dp, exact or not?

The (Easy) Road to Code

What exactly is the meaning of "fine wine"?

What is better: yes / no radio, or simple checkbox?

Professor forcing me to attend a conference, I can't afford even with 50% funding

Did Amazon pay $0 in taxes last year?

Was this cameo in Captain Marvel computer generated?



Averaging over columns while ignoring zero entries


Operations on a List of Vectors (Norm)Compute percentages in a listElegant way to map a function over the columns of an arrayHow to count number of observations/rows within each groupHow can Tally group elements that differ only by a sign together?Creating Average Grid data from Co-ordinate and value dataList manipulation, averaging over lists and fidelityHow to select elements from a list of pairs based on 2nd element of the pairSubtract value from listHow to list ArrayFilter?













5












$begingroup$


I have:



list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 
1, 0, 2, 2, 2, 4, 0


I want to calculate the average but without considering the 0s.



The result should be:



Do[
array = list[[All, i]];
total = Total[array];
cnt = Count[array, 0];
result[[i]] = total/(Length@array - cnt);,
i, 1, Length@result
];

result // N

2., 3., 3., 4., 4., 3., 9.


How can I replace the Do loop?










share|improve this question











$endgroup$







  • 1




    $begingroup$
    Mean /@ DeleteCases[Transpose@list, 0, All]
    $endgroup$
    – MarcoB
    13 hours ago










  • $begingroup$
    Thank you for the solution.
    $endgroup$
    – lio
    13 hours ago











  • $begingroup$
    You’re welcome. I’ve added an answer since this solution works for you
    $endgroup$
    – MarcoB
    13 hours ago







  • 4




    $begingroup$
    I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
    $endgroup$
    – J. M. is computer-less
    13 hours ago










  • $begingroup$
    @J.M. Well, that is clever! Cool trick :-)
    $endgroup$
    – MarcoB
    11 hours ago















5












$begingroup$


I have:



list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 
1, 0, 2, 2, 2, 4, 0


I want to calculate the average but without considering the 0s.



The result should be:



Do[
array = list[[All, i]];
total = Total[array];
cnt = Count[array, 0];
result[[i]] = total/(Length@array - cnt);,
i, 1, Length@result
];

result // N

2., 3., 3., 4., 4., 3., 9.


How can I replace the Do loop?










share|improve this question











$endgroup$







  • 1




    $begingroup$
    Mean /@ DeleteCases[Transpose@list, 0, All]
    $endgroup$
    – MarcoB
    13 hours ago










  • $begingroup$
    Thank you for the solution.
    $endgroup$
    – lio
    13 hours ago











  • $begingroup$
    You’re welcome. I’ve added an answer since this solution works for you
    $endgroup$
    – MarcoB
    13 hours ago







  • 4




    $begingroup$
    I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
    $endgroup$
    – J. M. is computer-less
    13 hours ago










  • $begingroup$
    @J.M. Well, that is clever! Cool trick :-)
    $endgroup$
    – MarcoB
    11 hours ago













5












5








5





$begingroup$


I have:



list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 
1, 0, 2, 2, 2, 4, 0


I want to calculate the average but without considering the 0s.



The result should be:



Do[
array = list[[All, i]];
total = Total[array];
cnt = Count[array, 0];
result[[i]] = total/(Length@array - cnt);,
i, 1, Length@result
];

result // N

2., 3., 3., 4., 4., 3., 9.


How can I replace the Do loop?










share|improve this question











$endgroup$




I have:



list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 
1, 0, 2, 2, 2, 4, 0


I want to calculate the average but without considering the 0s.



The result should be:



Do[
array = list[[All, i]];
total = Total[array];
cnt = Count[array, 0];
result[[i]] = total/(Length@array - cnt);,
i, 1, Length@result
];

result // N

2., 3., 3., 4., 4., 3., 9.


How can I replace the Do loop?







list-manipulation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 11 hours ago









m_goldberg

87.4k872198




87.4k872198










asked 14 hours ago









liolio

1,108217




1,108217







  • 1




    $begingroup$
    Mean /@ DeleteCases[Transpose@list, 0, All]
    $endgroup$
    – MarcoB
    13 hours ago










  • $begingroup$
    Thank you for the solution.
    $endgroup$
    – lio
    13 hours ago











  • $begingroup$
    You’re welcome. I’ve added an answer since this solution works for you
    $endgroup$
    – MarcoB
    13 hours ago







  • 4




    $begingroup$
    I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
    $endgroup$
    – J. M. is computer-less
    13 hours ago










  • $begingroup$
    @J.M. Well, that is clever! Cool trick :-)
    $endgroup$
    – MarcoB
    11 hours ago












  • 1




    $begingroup$
    Mean /@ DeleteCases[Transpose@list, 0, All]
    $endgroup$
    – MarcoB
    13 hours ago










  • $begingroup$
    Thank you for the solution.
    $endgroup$
    – lio
    13 hours ago











  • $begingroup$
    You’re welcome. I’ve added an answer since this solution works for you
    $endgroup$
    – MarcoB
    13 hours ago







  • 4




    $begingroup$
    I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
    $endgroup$
    – J. M. is computer-less
    13 hours ago










  • $begingroup$
    @J.M. Well, that is clever! Cool trick :-)
    $endgroup$
    – MarcoB
    11 hours ago







1




1




$begingroup$
Mean /@ DeleteCases[Transpose@list, 0, All]
$endgroup$
– MarcoB
13 hours ago




$begingroup$
Mean /@ DeleteCases[Transpose@list, 0, All]
$endgroup$
– MarcoB
13 hours ago












$begingroup$
Thank you for the solution.
$endgroup$
– lio
13 hours ago





$begingroup$
Thank you for the solution.
$endgroup$
– lio
13 hours ago













$begingroup$
You’re welcome. I’ve added an answer since this solution works for you
$endgroup$
– MarcoB
13 hours ago





$begingroup$
You’re welcome. I’ve added an answer since this solution works for you
$endgroup$
– MarcoB
13 hours ago





4




4




$begingroup$
I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
$endgroup$
– J. M. is computer-less
13 hours ago




$begingroup$
I'm not at a computer right now, so please try Total[list]/Total[Unitize[list]].
$endgroup$
– J. M. is computer-less
13 hours ago












$begingroup$
@J.M. Well, that is clever! Cool trick :-)
$endgroup$
– MarcoB
11 hours ago




$begingroup$
@J.M. Well, that is clever! Cool trick :-)
$endgroup$
– MarcoB
11 hours ago










2 Answers
2






active

oldest

votes


















8












$begingroup$

Mean /@ DeleteCases[Transpose@list, 0, All]



2,3,3,4,4,3,9







share|improve this answer









$endgroup$




















    7












    $begingroup$

    I'm posting this as a CW answer, so J.M.'s very nice answer, made in a comment above, gets recorded as a real answer.



    list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 1, 0, 2, 2, 2, 4, 0;
    Total[list]/Total[Unitize[list]]



    2, 3, 3, 4, 4, 3, 9







    share|improve this answer











    $endgroup$












      Your Answer





      StackExchange.ifUsing("editor", function ()
      return StackExchange.using("mathjaxEditing", function ()
      StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
      StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
      );
      );
      , "mathjax-editing");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "387"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192881%2faveraging-over-columns-while-ignoring-zero-entries%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      8












      $begingroup$

      Mean /@ DeleteCases[Transpose@list, 0, All]



      2,3,3,4,4,3,9







      share|improve this answer









      $endgroup$

















        8












        $begingroup$

        Mean /@ DeleteCases[Transpose@list, 0, All]



        2,3,3,4,4,3,9







        share|improve this answer









        $endgroup$















          8












          8








          8





          $begingroup$

          Mean /@ DeleteCases[Transpose@list, 0, All]



          2,3,3,4,4,3,9







          share|improve this answer









          $endgroup$



          Mean /@ DeleteCases[Transpose@list, 0, All]



          2,3,3,4,4,3,9








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 13 hours ago









          MarcoBMarcoB

          37.2k556113




          37.2k556113





















              7












              $begingroup$

              I'm posting this as a CW answer, so J.M.'s very nice answer, made in a comment above, gets recorded as a real answer.



              list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 1, 0, 2, 2, 2, 4, 0;
              Total[list]/Total[Unitize[list]]



              2, 3, 3, 4, 4, 3, 9







              share|improve this answer











              $endgroup$

















                7












                $begingroup$

                I'm posting this as a CW answer, so J.M.'s very nice answer, made in a comment above, gets recorded as a real answer.



                list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 1, 0, 2, 2, 2, 4, 0;
                Total[list]/Total[Unitize[list]]



                2, 3, 3, 4, 4, 3, 9







                share|improve this answer











                $endgroup$















                  7












                  7








                  7





                  $begingroup$

                  I'm posting this as a CW answer, so J.M.'s very nice answer, made in a comment above, gets recorded as a real answer.



                  list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 1, 0, 2, 2, 2, 4, 0;
                  Total[list]/Total[Unitize[list]]



                  2, 3, 3, 4, 4, 3, 9







                  share|improve this answer











                  $endgroup$



                  I'm posting this as a CW answer, so J.M.'s very nice answer, made in a comment above, gets recorded as a real answer.



                  list = 1, 3, 4, 5, 6, 0, 9, 4, 0, 3, 5, 0, 2, 0, 1, 0, 2, 2, 2, 4, 0;
                  Total[list]/Total[Unitize[list]]



                  2, 3, 3, 4, 4, 3, 9








                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  answered 11 hours ago


























                  community wiki





                  m_goldberg




























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Mathematica Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      Use MathJax to format equations. MathJax reference.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f192881%2faveraging-over-columns-while-ignoring-zero-entries%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Möglingen Índice Localización Historia Demografía Referencias Enlaces externos Menú de navegación48°53′18″N 9°07′45″E / 48.888333333333, 9.129166666666748°53′18″N 9°07′45″E / 48.888333333333, 9.1291666666667Sitio web oficial Mapa de Möglingen«Gemeinden in Deutschland nach Fläche, Bevölkerung und Postleitzahl am 30.09.2016»Möglingen

                      Virtualbox - Configuration error: Querying “UUID” failed (VERR_CFGM_VALUE_NOT_FOUND)“VERR_SUPLIB_WORLD_WRITABLE” error when trying to installing OS in virtualboxVirtual Box Kernel errorFailed to open a seesion for the virtual machineFailed to open a session for the virtual machineUbuntu 14.04 LTS Virtualbox errorcan't use VM VirtualBoxusing virtualboxI can't run Linux-64 Bit on VirtualBoxUnable to insert the virtual optical disk (VBoxguestaddition) in virtual machine for ubuntu server in win 10VirtuaBox in Ubuntu 18.04 Issues with Win10.ISO Installation

                      Antonio De Lisio Carrera Referencias Menú de navegación«Caracas: evolución relacional multipleja»«Cuando los gobiernos subestiman a las localidades: L a Iniciativa para la Integración de la Infraestructura Regional Suramericana (IIRSA) en la frontera Colombo-Venezolana»«Maestría en Planificación Integral del Ambiente»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»«Conózcanos»«Caracas: evolución relacional multipleja»«La Metrópoli Caraqueña: Expansión Simplificadora o Articulación Diversificante»