Merge branch 'PY-20771' of https://github.com/fitermay/intellij-community into fiterm...
[idea/community.git] / python / helpers / pydev / _pydevd_bundle / pydevd_vars.py
index 7aed7cbf48178cbfa19f490208690a32b76c0a45..7db36f504fd0b452897a73c3b297f6f9c4e43942 100644 (file)
@@ -592,23 +592,20 @@ def dataframe_to_xml(df, name, roffset, coffset, rows, cols, format):
     xml += "<headerdata rows=\"%s\" cols=\"%s\">\n" % (rows, cols)
     format = format.replace('%', '')
     col_formats = []
+
+    get_label = lambda label: str(label) if not isinstance(label, tuple) else '/'.join(map(str, label))
+
     for col in range(cols):
-        label = df.axes[1].values[col]
-        if isinstance(label, tuple):
-            label = '/'.join(label)
-        label = str(label)
         dtype = df.dtypes.iloc[col].kind
         fmt = format if (dtype == 'f' and format) else default_format(dtype)
         col_formats.append('%' + fmt)
         bounds = col_bounds[col]
 
         xml += '<colheader index=\"%s\" label=\"%s\" type=\"%s\" format=\"%s\" max=\"%s\" min=\"%s\" />\n' % \
-               (str(col), label, dtype, fmt, bounds[1], bounds[0])
+               (str(col), get_label(df.axes[1].values[col]), dtype, fmt, bounds[1], bounds[0])
     for row, label in enumerate(iter(df.axes[0])):
-        if isinstance(label, tuple):
-            label = '/'.join(label)
         xml += "<rowheader index=\"%s\" label = \"%s\"/>\n" % \
-               (str(row), label)
+               (str(row), get_label(label))
     xml += "</headerdata>\n"
     xml += "<arraydata rows=\"%s\" cols=\"%s\"/>\n" % (rows, cols)
     for row in range(rows):