ENH/API: Allow dicts with tuple keys in DataFrame constructor · Issue #3323 · pandas-dev/pandas (original) (raw)
related #4805
It would be nice to allow automatic conversion to a MultiIndex when a dict
with tuple keys is passed into the DataFrame
constructor. Here's what currently happens:
from pandas import Index, DataFrame from numpy.random import rand import itertools as itools d = {(i, j): rand(10) for i, j in itools.product(xrange(3), repeat=2)} df = DataFrame(d) assert type(df.columns) == Index
The same issue shows up in pd.concat
when you pass in a dict
of sequences (lists and ndarrays and friends) and axis=1
, however if you have a dict
of DataFrames
the columns keys are converted to a MultiIndex. E.g.,
from pandas import MultiIndex d = {(i, j): DataFrame(rand(10, 2), columns=['a', 'b']) for i, j in itools.product(xrange(3), repeat=2)} df = pd.concat(d, axis=1) assert type(df.columns) == MultiIndex