数字货币量化教程——使用itertools实现各种排列组合
在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优参数
一、数据准备
import itertools items = [1, 2, 3]ab = ['a', 'b'] cd = ['c', 'd']
#1. permutations: 考虑顺序组合元素
for item in itertools.permutations(items):print(item)
返回
(1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)
#2. combinations,不考虑顺序,不放回数据
for item in itertools.combinations(items, 2):print(item)
返回
(1, 2) (1, 3) (2, 3)
# 3. combinations_with_replacement,不考虑顺序,有放回数据
for item in itertools.combinations_with_replacement(items, 2):print(item)
返回
(1, 1) (1, 2) (1, 3) (2, 2) (2, 3) (3, 3)
# 4. product()函数,迪卡尔积,在参数组合中寻找最优参数
针对ab,cd两个集合进行排列组合
for item in itertools.product(ab, cd):print(item)
返回
('a', 'c') ('a', 'd') ('b', 'c') ('b', 'd')
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
