Skip to main content
`Ctrl`+`K`

# pandas.io.formats.style.Styler.set_td_classes

Styler.set_td_classes(classes)

  Set the `class` attribute of `<td>` HTML elements.

  Parameters:
    classesDataFrame

      DataFrame containing strings that will be translated to CSS classes, mapped by identical column and index key values that must exist on the underlying Styler data. None, NaN values, and empty strings will be ignored and not affect the rendered HTML.

  Returns:
    Styler

  See also

  `Styler.set_table_styles`

    Set the table styles included within the `<style>` HTML element.

  `Styler.set_table_attributes`

    Set the table attributes added to the `<table>` HTML element.

  Notes

  Can be used in combination with `Styler.set_table_styles` to define an internal CSS solution without reference to external CSS files.

  Examples

      >>> df = pd.DataFrame(data=[[1, 2, 3], [4, 5, 6]], columns=["A", "B", "C"])
      >>> classes = pd.DataFrame([
      ...     ["min-val red", "", "blue"],
      ...     ["red", None, "blue max-val"]
      ... ], index=df.index, columns=df.columns)
      >>> df.style.set_td_classes(classes)

  Using MultiIndex columns and a classes DataFrame as a subset of the underlying,

      >>> df = pd.DataFrame([[1,2],[3,4]], index=["a", "b"],
      ...     columns=[["level0", "level0"], ["level1a", "level1b"]])
      >>> classes = pd.DataFrame(["min-val"], index=["a"],
      ...     columns=[["level0"],["level1a"]])
      >>> df.style.set_td_classes(classes)

  Form of the output with new additional css classes,

      >>> from pandas.io.formats.style import Styler
      >>> df = pd.DataFrame([[1]])
      >>> css = pd.DataFrame([["other-class"]])
      >>> s = Styler(df, uuid="_", cell_ids=False).set_td_classes(css)
      >>> s.hide(axis=0).to_html()
      '<style type="text/css"></style>'
      '<table id="T__">'
      '  <thead>'
      '    <tr><th class="col_heading level0 col0" >0</th></tr>'
      '  </thead>'
      '  <tbody>'
      '    <tr><td class="data row0 col0 other-class" >1</td></tr>'
      '  </tbody>'
      '</table>'