title: Parquet issue with infering schema on int column containing Null
body: <p>I am reading the s3 key and converting it into parquet using pandas. And before converting into parquet I am type casting it so that pyarrow can infer the schema correctly.</p>
  
  <p>The snippet looks something like below:</p>
  
  <pre><code>df = pd.read_csv(io.BytesIO(s3.get_object(Bucket=s3_bucket, Key=s3_key)['Body'].read()), sep='\t', error_bad_lines=False, warn_bad_lines=True)
  
  df['col_name'] = df['col_name'].astype('int')
  
  table = pa.Table.from_pandas(df)
  buf = pa.BufferOutputStream()
  pq.write_table(table, buf, compression='snappy')
  </code></pre>
  
  <p>So far so good.</p>
  
  <p>The problem is, when int column has null value, pandas will take it as an object offcourse. Is there any way to typecast it into 'int'. One way could be to do fillna(0) or with 99999 first and then do the typecasting. It worked but then Null and 0 or 99999 has different meaning in that column.</p>
  
  <p>So any idea how to typecast it into int? or anything I can do to modify the code above to handle this situation?</p>