Skip to content

Commit 722b386

Browse files
dsm054jreback
authored andcommitted
TST: NaN in MultiIndex should not become a string (pandas-dev#7031) (pandas-dev#16625)
1 parent 2b44868 commit 722b386

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

pandas/tests/indexes/test_multi.py

+21
Original file line numberDiff line numberDiff line change
@@ -2866,3 +2866,24 @@ def test_tuples_with_name_string(self):
28662866
pd.Index(li, name='abc')
28672867
with pytest.raises(ValueError):
28682868
pd.Index(li, name='a')
2869+
2870+
def test_nan_stays_float(self):
2871+
2872+
# GH 7031
2873+
idx0 = pd.MultiIndex(levels=[["A", "B"], []],
2874+
labels=[[1, 0], [-1, -1]],
2875+
names=[0, 1])
2876+
idx1 = pd.MultiIndex(levels=[["C"], ["D"]],
2877+
labels=[[0], [0]],
2878+
names=[0, 1])
2879+
idxm = idx0.join(idx1, how='outer')
2880+
assert pd.isnull(idx0.get_level_values(1)).all()
2881+
# the following failed in 0.14.1
2882+
assert pd.isnull(idxm.get_level_values(1)[:-1]).all()
2883+
2884+
df0 = pd.DataFrame([[1, 2]], index=idx0)
2885+
df1 = pd.DataFrame([[3, 4]], index=idx1)
2886+
dfm = df0 - df1
2887+
assert pd.isnull(df0.index.get_level_values(1)).all()
2888+
# the following failed in 0.14.1
2889+
assert pd.isnull(dfm.index.get_level_values(1)[:-1]).all()

0 commit comments

Comments
 (0)