title: creating a dataframe with all combinations of columns and count the rows that are not 0 and NaN
body: <p>I am trying to create a dataframe with all combinations of columns and count the rows that are both not 0 or NaN</p>
  <p>The Dataframe that I have look like below:</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>a</th>
  <th>b</th>
  <th>c</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>50</td>
  <td>NaN</td>
  <td>30</td>
  </tr>
  <tr>
  <td>0</td>
  <td>-20</td>
  <td>10</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>the final output would look like below:</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>variable_1</th>
  <th>variable_2</th>
  <th>count_rows</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>a</td>
  <td>b</td>
  <td>0</td>
  </tr>
  <tr>
  <td>b</td>
  <td>c</td>
  <td>1</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>The Final output would have all the combinations of the original columns,</p>
  <p>and the 'count_rows' column will go through the original dataframe and count the rows of each combinations that are not 0 &amp; NaN</p>
  <p>In addition I want to make sure that the duplicates are allowed, and what I mean by this is that</p>
  <p>For example,</p>
  <div class="s-table-container">
  <table class="s-table">
  <thead>
  <tr>
  <th>variable_1</th>
  <th>variable_2</th>
  <th>count_rows</th>
  </tr>
  </thead>
  <tbody>
  <tr>
  <td>a</td>
  <td>b</td>
  <td>0</td>
  </tr>
  <tr>
  <td>b</td>
  <td>a</td>
  <td>0</td>
  </tr>
  </tbody>
  </table>
  </div>
  <p>The values and combinations are the same, just the orders are different, but I still want to keep them.</p>
  <p>Thank you</p>