@@ -370,3 +370,42 @@ def test_index_isin(scalars_df_index, scalars_pandas_df_index):
370370 bf_series ,
371371 check_names = False ,
372372 )
373+
374+
375+ def test_multiindex_name_is_none (session ):
376+ df = pd .DataFrame (
377+ {
378+ "A" : [0 , 0 , 0 , 1 , 1 , 1 ],
379+ "B" : ["x" , "y" , "z" , "x" , "y" , "z" ],
380+ "C" : [123 , 345 , 789 , - 123 , - 345 , - 789 ],
381+ "D" : ["a" , "b" , "c" , "d" , "e" , "f" ],
382+ },
383+ )
384+ index = session .read_pandas (df ).set_index (["A" , "B" ]).index
385+ assert index .name is None
386+
387+
388+ def test_multiindex_names_not_none (session ):
389+ df = pd .DataFrame (
390+ {
391+ "A" : [0 , 0 , 0 , 1 , 1 , 1 ],
392+ "B" : ["x" , "y" , "z" , "x" , "y" , "z" ],
393+ "C" : [123 , 345 , 789 , - 123 , - 345 , - 789 ],
394+ "D" : ["a" , "b" , "c" , "d" , "e" , "f" ],
395+ },
396+ )
397+ index = session .read_pandas (df ).set_index (["A" , "B" ]).index
398+ assert tuple (index .names ) == ("A" , "B" )
399+
400+
401+ def test_multiindex_repr_includes_all_names (session ):
402+ df = pd .DataFrame (
403+ {
404+ "A" : [0 , 0 , 0 , 1 , 1 , 1 ],
405+ "B" : ["x" , "y" , "z" , "x" , "y" , "z" ],
406+ "C" : [123 , 345 , 789 , - 123 , - 345 , - 789 ],
407+ "D" : ["a" , "b" , "c" , "d" , "e" , "f" ],
408+ },
409+ )
410+ index = session .read_pandas (df ).set_index (["A" , "B" ]).index
411+ assert "names=['A', 'B']" in repr (index )
0 commit comments