首页 > 解决方案 > 使用 pandas 制作热图

问题描述

我有一个熊猫数据框,如下所示:

在此处输入图像描述

具体来说,我有 50 个具有 50 个 Median_own 值的分子。我想做的是一个对角线热图,其中 Median_own 值具有 well_behaved ='* ' 相对于其他值被“突出显示”。此外,显着值(即具有“显着性”=1 的值,并不总是与具有 well_behaved=* 的值一致)相对于 well_behaved ='**' 以较浅的阴影突出显示,但相对于具有显着性 =0 的值以较暗的阴影突出. 换句话说,如果我想要 3 种颜色的红色:

结果应该是这样的(在轴上可能有缩写名称)是 D=最深的阴影,M=中间的阴影和 L=最浅的阴影(Nans 应该是全白的):


                  ACETYLCISTEINE.  ACETYLSALIC.  ACICLOVIR.   ALPRAZOLAM.  AMLODIPINE
ACETYLCISTEINE.     -0.018166 (L)    NaN            Nan        Nan          Nan
ACETYLSALIC.         Nan        -0.07039 (L)        Nan        Nan          Nan
ACICLOVIR            Nan             Nan      -0.200310 (D)    Nan          Nan
ALPRAZOLAM           Nan             Nan            Nan    -0.5037 (D)      Nan
AMLODIPINE           Nan             Nan            Nan        Nan          0.010486

数据示例如下:

input long index str30 Molecule double(Low_own Median_own Up_own) float(product_low_up significance) str2 well_behaved
 0 " ACETYLCYSTEINE"          -.11949230932305166  -.01816588654429252   .08316053623446662  -.009937044 0 ""  
 1 " ACETYLSALICYLIC ACID"    -.19005108550260497  -.07039018793947995   .06159713326361721  -.011706602 0 ""  
 2 " ACICLOVIR"                -.3006001671442494  -.20030989369092575  -.10001962023760208   .030065915 1 "**"
 3 " ALPRAZOLAM"               -.7842508992804123    -.503769838681542  -.24675573414880658     .1935184 1 "**"
 4 " AMLODIPINE"              -.10630932940896477  .010485595522742648   .12378267349927682  -.013159253 0 ""  
 5 " AMOXICILLIN"              -.5416499577773706  -.34818823183436803  -.15788368815182388     .0855177 1 "**"
 6 " BETAMETHASONE"            -.2126565145487644   -.1435119461770954  -.07436737780542638   .015814707 1 "**"
 7 " BISOPROLOL"               -.1050752616511191   .16455336919622396    .3917949371139701   -.04116796 0 ""  
 8 " BUDESONIDE"               -.3026821650733131  -.18608473748812335   -.0694873099029336    .02103257 1 "**"
 9 " CARBAMAZEPINE"           -.11986488557789696 -.047906582588036754   .02405172040182344  -.002882957 0 ""  
10 " CARBIDOPA + LEVODOPA"     -.2683042548501663  -.08104639574152772   .10621146336711088   -.02849699 0 ""  
11 " CETIRIZINE"               -.4242858483416745  -.09222998378899346    .2398258807636876   -.10175472 0 ""  
12 " CICLOSPORIN"            .0016510415866186762   .09849283936109837   .20799295512525462   .000343405 1 ""  
13 " CLINDAMYCIN"              -.1084668384351178 -.014280854045305288   .07990513034450723  -.008667056 0 ""  
14 " CLOBETASOL"             -.028684368548454076  .007345388303570971   .04196140842561295 -.0012036365 0 ""  
15 " DESMOPRESSIN"           -.049214074375385226 .0007112335939349962   .05063654156325522 -.0024920306 0 ""  
16 " DICLOFENAC"              -.04427569031625059   .03720943686588275    .1186945640480161  -.005255284 0 ""  
17 " EPINEPHRINE"              -.4956808980452309   -.2690385296979851  -.04239616135073926    .02101497 1 "**"
18 " ESTRADIOL"               -.06232938745654277  .006700379154772502   .07637492138008731  -.004760402 0 ""  
19 " FINASTERIDE"              -.2397594988444966  -.05585339279267099   .10227633627287036  -.024521723 0 ""  
20 " FLUCONAZOLE"              -.5213647902235177  -.34145260347169626  -.16154041671987487    .08422148 1 "**"
21 " FLUOXETINE"                -.229276133577837  -.10694452828715498  .015387077003527053 -.0035278895 0 ""  
22 " FUROSEMIDE"              .028340133538212214    .1035220195298833   .17870390552155438   .005064493 1 ""  
23 " GOSERELIN"               -.26407401621696736 -.002727203295534431   .23469720468582833   -.06197743 0 ""  
24 " HYDROCORTISONE"          -.18227607754227892   -.0760956976074689  .019718319252358382  -.003594178 0 ""  
25 " IBUPROFEN"               -.08131133940715106  -.04457847572837339 -.007845612049595718  .0006379372 1 "**"
26 " INSULIN HUMAN ISOPHANE"   -.7815466443075865  -.10661852576115914    .5683095927852682    -.4441605 0 ""  
27 " IRON FERROUS"             -.1376231729765746 -.032647196404942666   .07232878016668925  -.009954116 0 ""  
28 " LACTULOSE"                -.5622788091371247   -.4221156850650263   -.2819525609929278    .15853596 1 "**"
29 " LEVOTHYROXINE SODIUM"    -.04270166691843903  -.01416320829160313  .017997814229516206 -.0007685366 0 ""  
30 " LOPERAMIDE"              -.38490789821282456  -.22443291605310406  -.06395793389338353   .024617914 1 "**"
31 " MAGNESIUM"              -.007459839239800509    .1005425014958489    .2085448422314983  -.001555711 0 ""  
32 " MESALAZINE"              -.07682401060763687   .02501640233087768   .12685681526939224   -.00974565 0 ""  
33 " METHYLPREDNISOLONE"      -.29334976731195617   -.1770747459471777  -.04429369827902871   .012993546 1 "**"
34 " METOPROLOL"              -.20435785896056913  .001956764492803418   .20827138794617595    -.0425619 0 ""  
35 " METRONIDAZOLE"           -.02839860035720399   .04075514065554465   .10851587525206455  -.003081699 0 ""  
36 " NICOTINE"                -.24544841664305317  -.11174681906279003  .021954778517473086  -.005388766 0 ""  
37 " OCTREOTIDE"               -.4014115380086162  -.23802473899846024  -.07463793998830431    .02996053 1 "**"
38 " OMEPRAZOLE"              -.18364850305668656  -.08355862445551422  .016531254145658134   -.00303594 0 ""  
39 " ONDANSETRON"             -.20108908265538317 -.031135659400480856   .12098125795288806   -.02432801 0 ""  
40 " PARACETAMOL"             -.13951283345063342   -.0716130991353806 -.003713364820127754 .00051806204 1 "**"
41 " POTASSIUM"               -.17719257735538008  -.04365884037006097   .07884065773468696   -.01396998 0 ""  
42 " RISPERIDONE"             -.03175179565629319   .04201469651124452   .10751216730795307 -.0034137045 0 ""  
43 " SALBUTAMOL"             -.011717519856023102   .06312912308949273   .12855364941357206   -.00150633 0 ""  
44 " SPIRONOLACTONE"           -.5985439757999351  -.42371612028980377  -.24888826477967238    .14897057 1 "**"
45 " SULFASALAZINE"           -.02918743107553859   .15992637146826205   .34420186679397813  -.010046368 0 ""  
46 " TESTOSTERONE"            -1.3460232649365953   -.9572972586975644   -.5685712524585336     .7653101 1 "**"
47 " TOBRAMYCIN"              -1.4818117534438315   -1.189609480290278   -.8974072071367243    1.3297886 1 "**"
48 " TRIPTORELIN"              -1.269305760245837   -.8340365109498795   -.3719585512754152     .4721291 1 "**"
49 " VALPROIC ACID"          -.059727170951347226 -.015451045007884074   .04155995355736569 -.0024822585 0 ""  
end

谢谢,

费德里科

标签: pythonpivotseabornheatmap

解决方案


推荐阅读