使用Pandas数据帧的热图

2024-09-29 21:26:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含以下行的数据框:

    protein   IHD          CM         ARR         VD        CHD           CCD         VOO      
0   q9uku9  0.000000    0.039457    0.032901    0.014793    0.006614    0.006591    0.000000    
1   o75461  0.000000    0.005832    0.027698    0.000000    0.000000    0.006634    0.000000

等等

我想要一张X轴上疾病名称(IHD、CM等)的热图,y轴上有蛋白质名称。我遇到了一个浮动问题,因为蛋白质栏是用字母写的。在我的热图上,我想显示蛋白质的名称,所以删除整个列是没有帮助的。有人对如何做到这一点有什么建议吗


Tags: 数据名称cm蛋白质ccd疾病热图arr
2条回答

您可以尝试从数据框中删除蛋白质列

根据评论中的建议进行编辑

此外,解决方案还包括您有大量疾病的情况

import seaborn as sns
list_proteins = df['protein'].unique()
y = df["protein"]
df = df.drop(['protein'], axis=1)
column_name_list = df.columns.tolist()   
sns.heatmap(df, xticklabels=column_name_list , yticklabels=list_proteins)

将蛋白质设置为索引

import numpy as np 
from pandas import DataFrame
import matplotlib.pyplot as plt

df.set_index('protein', inplace = True)

plt.pcolor(df)
plt.yticks(np.arange(0.5, len(df.index), 1), df.index)
plt.xticks(np.arange(0.5, len(df.columns), 1), df.columns)
plt.show()

相关问题 更多 >

    热门问题