将BioPython.Phylo距离矩阵转换为数据帧

将BioPython.Phylo距离矩阵转换为数据帧,python,pandas,biopython,phylogeny,Python,Pandas,Biopython,Phylogeny,我想把一个Phylo.TreeConstruction.DistanceMatrix转换成一个pandas数据帧,但我不知道怎么做。有人知道怎么做吗 alignment=AlignIO.read(align,“fasta”) 计算器=距离计算器('标识',) dismat=计算器。获取距离(对齐) 这种方法有效,但感觉非常脏: disLis在dismat中的: 距离。追加(disLis) dismatDF=pd.数据帧(距离) 它在Phylo对象中获取每个列表,并将其附加到列表中,然后生成此列

我想把一个
Phylo.TreeConstruction.DistanceMatrix
转换成一个
pandas
数据帧,但我不知道怎么做。有人知道怎么做吗

alignment=AlignIO.read(align,“fasta”)
计算器=距离计算器('标识',)
dismat=计算器。获取距离(对齐)

这种方法有效,但感觉非常脏:

disLis在dismat中的
:
距离。追加(disLis)
dismatDF=pd.数据帧(距离)

它在
Phylo
对象中获取每个列表,并将其附加到列表中,然后生成此列表的数据框。

在引擎盖下,矩阵由名称列表和数字列表组成。您可以尝试在
pd.DataFrame()
构造函数中使用
dismat.names
dismat.matrix
。哦,太棒了,这非常有效!只给出底部对角线,但我想这就是你所需要的。