title: Efficient storage of large string column in pandas dataframe
body: <p>I have a large pandas dataframe with a string column that is highly skewed in size of the strings. Most of the rows have string of length &lt; 20, but there are some rows whose string lengths are more than 2000.</p>
  
  <p>I store this dataframe on disk using pandas.HDFStorage.append and set min_itemsize = 4000. However, this approach is highly inefficient, as the hdf5 file is very large in size, and we know that most of it are empty.</p>
  
  <p>Is it possible to assign different sizes for the rows of this string column? That is, assign small min_itemsize to rows whose string is short, and assign large min_itemsize to rows whose string is long.</p>