title: How to overcome 'NoneType' object has no attribute 'lower' error?
body: <p>I have <code>DataFrame</code>:</p>
  
  <pre><code>df=pd.DataFrame({'id':[1,2,3],'item1':['AK','CK',None],
  'item2':['b','d','e'],'item3':['c','e',np.nan]})
  </code></pre>
  
  <p>I want to convert all values of the column <code>item1</code> into lowercase.</p>
  
  <p>I've tried:</p>
  
  <pre><code>df['item1'].apply(lambda x: x.lower())
  </code></pre>
  
  <p>That gave me an error :</p>
  
  <blockquote>
    <p>AttributeError: 'NoneType' object has no attribute 'lower'</p>
  </blockquote>
  
  <p>I know why it happened. One from my column value is <code>None</code>.</p>
  
  <p>I want to anyhow ignore that value and convert the rest of the values into lowercase.</p>
  
  <p>Is there a way to overcome this? </p>
  
  <p><em>P.S: My original <code>DataFrame</code> may have any number of values as it is returned by another function. Dropping the row is not a case here as those records are important for me.</em></p>