0

我目前正在尝试使用 python Dendropy 库并在我的代码中包含一些 PAUP 命令。

我将矩阵作为一个 numpy 数组,但看起来 numpy 数组和这个模块存在问题。

***Distance matrix A (Numpy array)***

[[ 0  2  7  8 16 17]
 [ 2  0  5  6 17 16]
 [ 7  5  0  9 15 13]
 [ 8  6  9  0 18 16]
 [16 17 15 18  0  5]
 [17 16 13 16  5  0]]

我尝试使用以下方法将 numpy 数组转换为 numpy 矩阵:A=numpy.matrix(A)

import dendropy
from dendropy.interop import paup     

#A is a distance matrix like this    

tree = paup.estimate_tree(A, 'nj')

我得到的错误是:AttributeError: 'matrix' object has no attribute 'write_to_stream'

或者 :

AttributeError: 'numpy.ndarray' object has no attribute 'write_to_stream'

任何帮助,将不胜感激。

4

1 回答 1

0

我从未使用过DendroPy,但从您报告的错误和快速查看 DendroPy 文档(例如http://packages.python.org/DendroPy/tutorial/chars.htmlhttp:// packages.python.org/DendroPy/tutorial/paup.htmlestimate_tree需要某种CharacterMatrix对象(在 DendroPy 中定义的类),而不是NumPy 数组或矩阵。

于 2012-11-14T13:04:23.437 回答