-
Notifications
You must be signed in to change notification settings - Fork 6
Closed as duplicate of#466
Closed as duplicate of#466
Copy link
Labels
Milestone
Description
It currently silently "merges" all the columns axes (and loose their names), which is not too bad but not what it should.
>>> data = np.arange(16).reshape((4, 4))
>>> index = pd.MultiIndex.from_product((['a0', 'a1'], ['b0', 'b1']), names=('a', 'b'))
>>> columns = pd.MultiIndex.from_product((['c0', 'c1'], ['d0', 'd1']), names=('c', 'd'))
>>> df = pd.DataFrame(data, index=index, columns=columns)
>>> df
c c0 c1
d d0 d1 d0 d1
a b
a0 b0 0 1 2 3
b1 4 5 6 7
a1 b0 8 9 10 11
b1 12 13 14 15
>>> asarray(df)
a b\{2} c0,d0 c0,d1 c1,d0 c1,d1
a0 b0 0 1 2 3
a0 b1 4 5 6 7
a1 b0 8 9 10 11
a1 b1 12 13 14 15
Here are a few extra test cases:
>>> # duplicate axes names
>>> index = pd.MultiIndex.from_product((['a0', 'a1'], ['b0', 'b1']), names=('a', 'a'))
>>> columns = pd.MultiIndex.from_product((['c0', 'c1'], ['d0', 'd1']), names=('a', 'a'))
>>> df = pd.DataFrame(data, index=index, columns=columns)
>>> asarray(df)
a a a\a d0 d1
a0 b0 c0 0 1
a0 b0 c1 2 3
a0 b1 c0 4 5
a0 b1 c1 6 7
a1 b0 c0 8 9
a1 b0 c1 10 11
a1 b1 c0 12 13
a1 b1 c1 14 15
>>> # duplicate axis name and duplicate labels (on different axes)
>>> index = pd.MultiIndex.from_product((['a0', 'a1'], ['a0', 'a1']), names=('a', 'a'))
>>> columns = pd.MultiIndex.from_product((['a0', 'a1'], ['a0', 'a1']), names=('a', 'a'))
>>> df = pd.DataFrame(data, index=index, columns=columns)
>>> asarray(df)
a a a\a a0 a1
a0 a0 a0 0 1
a0 a0 a1 2 3
a0 a1 a0 4 5
a0 a1 a1 6 7
a1 a0 a0 8 9
a1 a0 a1 10 11
a1 a1 a0 12 13
a1 a1 a1 14 15