|
1 | 1 | # pylint: disable=E1101,E1103
|
2 | 2 | # pylint: disable=W0703,W0622,W0613,W0201
|
3 |
| -from pandas.compat import range, text_type, zip |
| 3 | +from pandas.compat import range, text_type, zip, u |
4 | 4 | from pandas import compat
|
5 | 5 | from functools import partial
|
6 | 6 | import itertools
|
@@ -923,11 +923,17 @@ def get_empty_Frame(data, sparse):
|
923 | 923 |
|
924 | 924 | number_of_cols = len(levels)
|
925 | 925 |
|
| 926 | + py2_prefix_sep_is_unicode = isinstance(prefix_sep, text_type) |
926 | 927 | if prefix is not None:
|
927 |
| - dummy_strs = [u'{prefix}{sep}{level}' if isinstance(v, text_type) |
928 |
| - else '{prefix}{sep}{level}' for v in levels] |
929 |
| - dummy_cols = [dummy_str.format(prefix=prefix, sep=prefix_sep, level=v) |
930 |
| - for dummy_str, v in zip(dummy_strs, levels)] |
| 928 | + py2_prefix_is_unicode = isinstance(prefix, text_type) |
| 929 | + dummy_cols = [] |
| 930 | + for level in levels: |
| 931 | + fstr = '{prefix}{sep}{level}' |
| 932 | + if py2_prefix_sep_is_unicode or py2_prefix_is_unicode or \ |
| 933 | + isinstance(level, text_type): |
| 934 | + fstr = u(fstr) |
| 935 | + dummy_cols.append(fstr.format( |
| 936 | + prefix=prefix, sep=prefix_sep, level=level)) |
931 | 937 | else:
|
932 | 938 | dummy_cols = levels
|
933 | 939 |
|
|
0 commit comments