Python 中的层次结构比较

问题描述 投票:0回答:1

嗨,我进行了层次结构比较并观察变化,然后在 python excel 中用颜色编码突出显示。例如下面是我的数据集

data1,previous

data2,current

我正在寻找输出expected output in excel

下面是我的数据集,我正在使用 pandas,来自 openpyxl import Workbook, 从 openpyxl.styles 导入 PatternFill 包,但数据未排序,并且我的输出 excel 中缺少几列。

current_data_str = """L1,L2,L3
manager1,e1,e5
manager1,e1,e5
manager2,e2,e6
manager2,e2,e7
manager3,e3,e8
manager3,e4,e9
manager3,e4,e10"""

previous_data_str = """L1,L2,L3
manager1,e1,e5
manager1,e1,e5
e6,e13,
e6,e14,
e8,e15,
e9,e16,
e17,,"""
python-3.x pandas dataframe openpyxl
1个回答
0
投票

对于 ,这是

compare
的一个很好的用例:

# to be replaced with any equivalent
curr = pd.read_csv(StringIO(current_data_str))
prev = pd.read_csv(StringIO(previous_data_str))

cmp = (curr.compare(prev, keep_shape=True, keep_equal=True,
        result_names=("previous", "current"))
       .pipe(lambda x: x.set_axis(x.columns.map(
           lambda c: "{}_{}".format(*c)), axis=1)))

s = (cmp.style.apply(lambda s: np.where(
    ~cmp.notna().all(axis=1), "background-color: yellow", ""))
         .format(na_rep=""))

输出:

© www.soinside.com 2019 - 2024. All rights reserved.