Matplotlib / Pandas从Python dict / JSON生成特定的graphics

我正在寻找从特定格式Python数据,但数据可能是文本,string,或其他Python对象的特定graphics布局。

我可以用XlsxWriter(见下面)做到这一点,但数据超载(1400万行…没有笑话,脱氧核糖核酸数据)。 是否有可能/如何使用Matplotlib或PAndas(或更稳定的大数据)?

详细信息:它必须能够实时完成 ,并根据数据是否“相同”(不pipe数字,文本或其他Python对象)进行可视格式化决策。

单元格中的着色是基于{1:"A", 2:"A"}是否相等 (不是同一个对象)。 绿色True红色False 。 例如: "A" == "A" (如前面的句子)或(10/5) == (20/10)["A", 1, <test object at 0x1052c9b70>] == ["A", 1, <test object at 0x1052c9b70>]都是绿色的。

出现在单元格中的文本只是对象的__str__表示。

示例…

 { 1000:{ "Sample1":{1:"A", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"}, }, 1001:{ "Sample1":{1:"A", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"} }, 1002:{ "Sample1":{1:"C", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"} }, (...) 9999:{ "Sample1":{1:"A", 2:"T"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"G"} }, } 

Excel示例

在Jupyter笔记本中使用pandas和风格的桌子:

 json = { 1000:{ "Sample1":{1:"A", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"}, }, 1001:{ "Sample1":{1:"A", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"} }, 1002:{ "Sample1":{1:"C", 2:"A"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"A"} }, 9999:{ "Sample1":{1:"A", 2:"T"}, "Sample2":{1:"A", 2:"A"}, "Sample3":{1:"A", 2:"G"} }, } import pandas as pd df = pd.DataFrame(json).transpose() df0 = df.applymap(lambda x: "{}/{}".format(x[1].__repr__(),x[2].__repr__())) df0 df1 = df.applymap(lambda x: x[1]) df2 = df.applymap(lambda x: x[2]) booldf = df1 == df2 c = lambda x : 'background-color: {}'.format(x) formatdf = booldf.applymap(lambda x: c("limegreen") if x else c("crimson")) df0.style.apply(lambda x: formatdf, axis=None) 

在这里输入图像说明