title: Drop Columns with more than 60 Percent of "empty" Values in Pandas
body: <p>I have got a dataframe like this:</p>
  
  <pre><code>import pandas as pd
  data = {
      'c1': ['Test1','Test2','NULL','Test3',' ','Test4','Test4','Test1',"Test3"],
      'c2': [' ','Test1',' ','NULL',' ','NULL','NULL','NULL','NULL'],
      'c3': [0,0,0,0,0,1,5,0,0],
      'c4': ['NULL', 'Test2', 'Test1','Test1', 'Test2', 'Test2','Test1','Test1','Test2']
  }
  df = pd.DataFrame(data)
  df
  </code></pre>
  
  <p>The dataframe looks like this:</p>
  
  <pre><code>    c1      c2      c3      c4
  0   Test1           0       NULL
  1   Test2   Test1   0       Test2
  2   NULL            0       Test1
  3   Test3   NULL    0       Test1
  4                   0       Test2
  5   Test4   NULL    1       Test2
  6   Test4   NULL    5       Test1
  7   Test1   NULL    0       Test1
  8   Test3   NULL    0       Test2
  </code></pre>
  
  <p>I want to drop all columns, that have more than 60 % of "empty" values. "Empty" means in my case that the values are for example: ' ', 'NULL' or 0. There are strings (c1, c2, c4) as well as integers (c3). </p>
  
  <p>The result should be a dataframe with columns c1 and c4 only.</p>
  
  <pre><code>    c1      c4
  0   Test1   NULL
  1   Test2   Test2
  2   NULL    Test1
  3   Test3   Test1
  4           Test2
  5   Test4   Test2
  6   Test4   Test1
  7   Test1   Test1
  8   Test3   Test2
  </code></pre>
  
  <p>I have no idea how to handle that problem. Only thing that comes to my mind is something like </p>
  
  <pre><code>df.loc[:, (df != 0).any(axis=0)]
  </code></pre>
  
  <p>to delete all columns where all values are 0, 'NULL' and so on.</p>