pandas.io.formats.style.Styler.relabel_index # 造型器。relabel_index ( labels , axis = 0 , level = None ) [来源] # 重新标记索引或列标题键以显示一组指定值。 1.5.0 版本中的新增内容。 参数: 标签类似列表或索引要显示的新标签。必须与未隐藏的基础值具有相同的长度。 轴{“索引”, 0, “列”, 1}应用于索引或列。 level int、str、列表、可选应用新标签的级别。如果None将应用于未隐藏的索引或多重索引的所有级别。 返回: 造型器 也可以看看 Styler.format_index设置索引或列标题的文本显示值的格式。 Styler.hide从显示中隐藏索引、列标题或指定数据。 笔记 作为 Styler 的一部分,此方法允许索引的显示完全由用户指定,而不影响底层 DataFrame 数据、索引或列标题。这意味着索引的灵活性得以保持,同时最终显示是可定制的。 由于 Styler 被设计为通过方法链逐步构建,因此该方法适合对当前指定的隐藏元素做出反应。这很有用,因为这意味着如果大部分索引或列标题已被隐藏,则不必指定所有新标签。以下产生等效的显示(注意labels每种情况下的长度)。 # relabel first, then hide df = pd.DataFrame({"col": ["a", "b", "c"]}) df.style.relabel_index(["A", "B", "C"]).hide([0,1]) # hide first, then relabel df = pd.DataFrame({"col": ["a", "b", "c"]}) df.style.hide([0,1]).relabel_index(["C"]) Styler.format_index()在以下情况之一(参见示例)中,应使用此方法,而不是: 需要一组指定的标签,这些标签不是底层索引键的函数。 底层索引键的功能需要一个计数器变量,例如枚举时可用的计数器变量。 例子 基本使用 >>> df = pd.DataFrame({"col": ["a", "b", "c"]}) >>> df.style.relabel_index(["A", "B", "C"]) col A a B b C c 与预先隐藏的元素链接 >>> df.style.hide([0,1]).relabel_index(["C"]) col C c 使用多重索引 >>> midx = pd.MultiIndex.from_product([[0, 1], [0, 1], [0, 1]]) >>> df = pd.DataFrame({"col": list(range(8))}, index=midx) >>> styler = df.style col 0 0 0 0 1 1 1 0 2 1 3 1 0 0 4 1 5 1 0 6 1 7 >>> styler.hide((midx.get_level_values(0)==0)|(midx.get_level_values(1)==0)) ... >>> styler.hide(level=[0,1]) >>> styler.relabel_index(["binary6", "binary7"]) col binary6 6 binary7 7 我们也可以通过先索引然后重新标记来实现上述目的 >>> styler = df.loc[[(1,1,0), (1,1,1)]].style >>> styler.hide(level=[0,1]).relabel_index(["binary6", "binary7"]) ... col binary6 6 binary7 7 定义使用枚举计数器的格式化函数。另请注意,索引键的值在字符串标签的情况下传递,因此也可以使用大括号(如果字符串已预先格式化,则使用双大括号)将其插入标签中, >>> df = pd.DataFrame({"samples": np.random.rand(10)}) >>> styler = df.loc[np.random.randint(0,10,3)].style >>> styler.relabel_index([f"sample{i+1} ({{}})" for i in range(3)]) ... samples sample1 (5) 0.315811 sample2 (0) 0.495941 sample3 (2) 0.067946