python - 使用 pandas 制作热图
问题描述
我有一个熊猫数据框,如下所示:
具体来说,我有 50 个具有 50 个 Median_own 值的分子。我想做的是一个对角线热图,其中 Median_own 值具有 well_behaved ='* ' 相对于其他值被“突出显示”。此外,显着值(即具有“显着性”=1 的值,并不总是与具有 well_behaved=* 的值一致)相对于 well_behaved ='**' 以较浅的阴影突出显示,但相对于具有显着性 =0 的值以较暗的阴影突出. 换句话说,如果我想要 3 种颜色的红色:
- 最轻的意义==0;
- 中间的意义 ==1 & well_behaved!=**
- 显着性的黑暗 ==1 和良好的行为 ==**
- 白色的 Nan 值
结果应该是这样的(在轴上可能有缩写名称)是 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
谢谢,
费德里科
解决方案
推荐阅读
- amazon-web-services - 弹性 Kubernetes 服务 AWS 部署流程以避免停机
- python - python函数参数更新
- c++ - 使用 OpenGL 绘制椭球的问题
- c# - .Net Core:如何初始化需要 DBContext 的单例?
- amazon-cognito - AWS Amplify - 更新另一个用户属性
- javascript - 页面刷新时运行函数的最佳方式
- algorithm - 为什么线性时间可约重要
- node.js - 从 MongoDB 中的特定月份和特定年份获取文档
- c# - WinForms C# Not all code paths return a value
- angular - 拉斐尔与 Angular 4+