如何使用 MultiIndex / 高级索引按条件突出显示 Pandas Dataframe 中的列
How to highlight the column in Pandas Dataframe with MultiIndex / advanced indexing by the condition
你能帮我用 multiindex/advanced 索引突出显示数据框中的列吗?
我有构成 Table 1:
的代码
pivot_clicks = pd.pivot_table(data=clicks, index='Источник', columns='Дата',
values=['Разница в процентах']).sort_index(axis=0, ascending=False)
pivot_clicks = pivot_clicks.swaplevel(0,1, axis=1).sort_index(axis=1, ascending=False)#.reset_index()
pivot_clicks = pivot_clicks.sort_values([pivot_clicks.columns[0]], ascending=False)
因此,(2022-02-27,'Разница в процентах'),(2022-02-26,'Разница в процентах') 等是 table [=24] 中的列=] 而 'Источник' 是一个索引。
我想突出显示值 >= 15 的列,并将其设为红色。请帮助我,因为我不能很好地处理多索引。
Multi-indexed 列可以用元组访问。例如pivot_clicks.loc[:, [("2022-02-27", 'Разница в процентах'), ("2022-02-26", 'Разница в процентах')]]
以及设置单列样式的工作示例:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo",
"bar", "bar", "bar", "bar"],
"B": ["one", "one", "one", "two", "two",
"one", "one", "two", "two"],
"C": ["small", "large", "large", "small",
"small", "large", "small", "small",
"large"],
"D": [1, 2, 2, 3, 3, 4, 5, 6, 7],
"E": [2, 4, 5, 5, 6, 6, 8, 9, 9]})
pivot = pd.pivot_table(df, values='D', index=['C'],
columns=['A', "B"], aggfunc=np.sum)
pivot.style.applymap(lambda x: f"color: {'red' if x > 4.5 else 'black'}", subset=[("bar", "one")])
你能帮我用 multiindex/advanced 索引突出显示数据框中的列吗?
我有构成 Table 1:
的代码pivot_clicks = pd.pivot_table(data=clicks, index='Источник', columns='Дата',
values=['Разница в процентах']).sort_index(axis=0, ascending=False)
pivot_clicks = pivot_clicks.swaplevel(0,1, axis=1).sort_index(axis=1, ascending=False)#.reset_index()
pivot_clicks = pivot_clicks.sort_values([pivot_clicks.columns[0]], ascending=False)
因此,(2022-02-27,'Разница в процентах'),(2022-02-26,'Разница в процентах') 等是 table [=24] 中的列=] 而 'Источник' 是一个索引。
我想突出显示值 >= 15 的列,并将其设为红色。请帮助我,因为我不能很好地处理多索引。
Multi-indexed 列可以用元组访问。例如pivot_clicks.loc[:, [("2022-02-27", 'Разница в процентах'), ("2022-02-26", 'Разница в процентах')]]
以及设置单列样式的工作示例:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo",
"bar", "bar", "bar", "bar"],
"B": ["one", "one", "one", "two", "two",
"one", "one", "two", "two"],
"C": ["small", "large", "large", "small",
"small", "large", "small", "small",
"large"],
"D": [1, 2, 2, 3, 3, 4, 5, 6, 7],
"E": [2, 4, 5, 5, 6, 6, 8, 9, 9]})
pivot = pd.pivot_table(df, values='D', index=['C'],
columns=['A', "B"], aggfunc=np.sum)
pivot.style.applymap(lambda x: f"color: {'red' if x > 4.5 else 'black'}", subset=[("bar", "one")])