skbio.tree.TreeNode.shuffle¶
- TreeNode.shuffle(k=None, names=None, shuffle_f=<built-in method shuffle of numpy.random.mtrand.RandomState object>, n=1)[源代码]¶
用混乱的提示名称生成树
状态:从0.4.0开始实验。
- 参数:
k (int, optional) -- 要洗牌的提示数。如果k不是 None ,k个提示是随机选择的,只有这些名称将被洗牌。
names (list, optional) -- 要洗牌的特定提示名称。不能同时指定k和名称。
shuffle_f (func) -- Shuffle方法中,此函数必须接受列表并就地修改。
n (int, optional) -- 要执行的迭代次数。值必须大于0且 np.inf 可以为无限次的迭代指定。
备注
小费的名字在原地打乱。如果两者都不是 k 也不 names 提供,所有提示都是随机的。
- 生成器:
TreeNode --树的顶端名称被打乱了。
- 抛出:
ValueError -- 如果 k 如果小于2 n 小于1
ValueError -- 如果两者 k 和 names 都是指定的
MissingNodeError -- 如果 names 已指定,但找不到其中一个名称
示例
交替两个提示上的名字“a”和“b”,并重复5次。
>>> from skbio import TreeNode >>> tree = TreeNode.read(["((a,b),(c,d));"]) >>> rev = lambda items: items.reverse() >>> shuffler = tree.shuffle(names=['a', 'b'], shuffle_f=rev, n=5) >>> for shuffled_tree in shuffler: ... print(shuffled_tree) ((b,a),(c,d)); ((a,b),(c,d)); ((b,a),(c,d)); ((a,b),(c,d)); ((b,a),(c,d));