unfriendly error regarding duplicate column names
## In [6]: DataFrame.from_records( [(1,2,3)], columns=['a','b','a'])

IndexError                                Traceback (most recent call last)
/home/adam/bin/jtds/<ipython-input-6-879cfff3d748> in <module>()
----> 1 DataFrame.from_records( [(1,2,3)], columns=['a','b','a'])

/home/adam/code/pandas/pandas/core/frame.pyc in from_records(cls, data, index, exclude, columns, names, coerce_float)
    760             result_index = np.arange(len(data))
    761 
--> 762         return cls(sdict, index=result_index, columns=columns)
    763 
    764     def to_records(self, index=True):

/home/adam/code/pandas/pandas/core/frame.pyc in **init**(self, data, index, columns, dtype, copy)
    301             mgr = self._init_mgr(data, index, columns, dtype=dtype, copy=copy)
    302         elif isinstance(data, dict):
--> 303             mgr = self._init_dict(data, index, columns, dtype=dtype)
    304         elif isinstance(data, ma.MaskedArray):
    305             mask = ma.getmaskarray(data)

/home/adam/code/pandas/pandas/core/frame.pyc in _init_dict(self, data, index, columns, dtype)
    391 
    392         # segregates dtypes and forms blocks matching to columns

--> 393         blocks = form_blocks(homogenized, axes)
    394 
    395         # consolidate for now

/home/adam/code/pandas/pandas/core/internals.pyc in form_blocks(data, axes)
   1125 
   1126     if len(int_dict):
-> 1127         int_block = _simple_blockify(int_dict, items, np.int64)
   1128         blocks.append(int_block)
   1129 

/home/adam/code/pandas/pandas/core/internals.pyc in _simple_blockify(dct, ref_items, dtype)
   1154 
   1155 def _simple_blockify(dct, ref_items, dtype):
-> 1156     block_items, values = _stack_dict(dct, ref_items, dtype)
   1157     # CHECK DTYPE?

   1158     if values.dtype != dtype: # pragma: no cover

/home/adam/code/pandas/pandas/core/internals.pyc in _stack_dict(dct, ref_items, dtype)
   1187     stacked = np.empty(shape, dtype=dtype)
   1188     for i, item in enumerate(items):
-> 1189         stacked[i] = _asarray_compat(dct[item])
   1190 
   1191     # stacked = np.vstack([_asarray_compat(dct[k]) for k in items])

IndexError: index out of bounds
