@@ -3380,6 +3380,9 @@ def to_latex(
3380
3380
if multirow is None :
3381
3381
multirow = config .get_option ("display.latex.multirow" )
3382
3382
3383
+ if column_format is not None and not isinstance (column_format , str ):
3384
+ raise ValueError ("`column_format` must be str or unicode" )
3385
+
3383
3386
# Refactor formatters/float_format/decimal/na_rep/escape to Styler structure
3384
3387
base_format_ = {
3385
3388
"na_rep" : na_rep ,
@@ -3421,8 +3424,9 @@ def _wrap(x, alt_format_):
3421
3424
formatters = functools .partial (_wrap , alt_format_ = lambda v : v )
3422
3425
else :
3423
3426
formatters = None
3427
+ format_index_ = [index_format_ , column_format_ ]
3424
3428
3425
- hide , relabel = [], []
3429
+ hide , relabel_index = [], []
3426
3430
if columns :
3427
3431
hide .append (
3428
3432
{
@@ -3433,7 +3437,8 @@ def _wrap(x, alt_format_):
3433
3437
if header is False :
3434
3438
hide .append ({"axis" : "columns" })
3435
3439
elif isinstance (header , (list , tuple )):
3436
- relabel = {"labels" : header , "axis" : "columns" }
3440
+ relabel_index = {"labels" : header , "axis" : "columns" }
3441
+ format_index_ = [index_format_ ] # column_format is overwritten
3437
3442
3438
3443
if index is False :
3439
3444
hide .append ({"axis" : "index" })
@@ -3462,9 +3467,9 @@ def _wrap(x, alt_format_):
3462
3467
return self ._to_latex_via_styler (
3463
3468
buf ,
3464
3469
hide = hide ,
3465
- relabel = relabel ,
3470
+ relabel_index = relabel_index ,
3466
3471
format = {"formatter" : formatters , ** base_format_ },
3467
- format_index = [ index_format_ , column_format_ ] ,
3472
+ format_index = format_index_ ,
3468
3473
render_kwargs = render_kwargs ,
3469
3474
)
3470
3475
@@ -3473,7 +3478,7 @@ def _to_latex_via_styler(
3473
3478
buf = None ,
3474
3479
* ,
3475
3480
hide : dict | list [dict ] | None = None ,
3476
- relabel : dict | list [dict ] | None = None ,
3481
+ relabel_index : dict | list [dict ] | None = None ,
3477
3482
format : dict | list [dict ] | None = None ,
3478
3483
format_index : dict | list [dict ] | None = None ,
3479
3484
render_kwargs : dict = {},
@@ -3484,6 +3489,7 @@ def _to_latex_via_styler(
3484
3489
.. code-block:: python
3485
3490
styler = Styler(DataFrame)
3486
3491
styler.hide(**hide)
3492
+ styler.relabel_index(**relabel_index)
3487
3493
styler.format(**format)
3488
3494
styler.format_index(**format_index)
3489
3495
styler.to_latex(buf=buf, **render_kwargs)
@@ -3494,7 +3500,7 @@ def _to_latex_via_styler(
3494
3500
hide : dict, list of dict
3495
3501
Keyword args to pass to the method call of ``Styler.hide``. If a list will
3496
3502
call the method numerous times.
3497
- relabel : dict, list of dict
3503
+ relabel_index : dict, list of dict
3498
3504
Keyword args to pass to the method of ``Styler.relabel_index``. If a list
3499
3505
will call the method numerous times.
3500
3506
format : dict, list of dict
@@ -3540,7 +3546,7 @@ def _to_latex_via_styler(
3540
3546
self = cast ("DataFrame" , self )
3541
3547
styler = Styler (self , uuid = "" )
3542
3548
3543
- for kw_name in ["hide" , "relabel " , "format" , "format_index" ]:
3549
+ for kw_name in ["hide" , "relabel_index " , "format" , "format_index" ]:
3544
3550
kw = vars ()[kw_name ]
3545
3551
if isinstance (kw , dict ):
3546
3552
getattr (styler , kw_name )(** kw )
0 commit comments