我正在尝试从ID(行)的DataFrame(df)和可以使用motif的Positions(列)创建热图。如果主题存在,则表的值为1,如果不存在则为0。如:
ID Position 1 2 3 4 5 6 7 8 9 10 ...etc
A 0 1 0 0 0 1 0 0 0 1
B 1 0 1 0 1 0 0 1 0 0
C 0 0 0 1 0 0 1 0 1 0
D 1 0 1 0 0 0 1 0 1 0
然后我将这个矩阵单独乘以找到图案与其他位置的图案共同出现的次数:
df.T.dot(df)
获取数据框:
POS 1 2 3 4 5 6 7 8 9 10 ...
1 2 0 2 0 1 0 1 1 1 0
2 0 1 0 0 0 1 0 0 0 1
3 2 0 2 0 1 0 1 1 1 0
4 0 0 0 1 0 0 1 0 1 0
5 1 0 1 0 1 0 0 1 0 0
6 0 1 0 0 0 1 0 0 0 1
7 1 0 1 1 0 0 2 0 2 0
8 1 0 1 0 1 0 0 1 0 0
9 1 0 1 1 0 0 2 0 2 0
10 0 1 0 0 0 1 0 0 0 1
...
与对角线对称,但是当我尝试使用
创建热图时pylab.pcolor(df)
它给我一个不对称的地图,似乎不代表虚线矩阵。我没有足够的声誉来发布图片。
有谁知道为什么会这样?感谢