Python 生成所有组合,除了排列,itertools模块还提供了计算集合元素组合的函数。对于组合来说,顺序不重要。对于一个给定的集合,组合的数量远小于排列的数量,对于 P 个元素组成的集合,r元组合的数量为:

例如,5张扑克牌共有2 598 960种组合方式,以下代码列出了所有组合形式:

实际应用中,在对包含多个变量的数据集进行探索性分析时,经常要计算任意两个变量间的相关性。如果有 \upsilon 个变量,可用下面的表达式枚举所有需要比较的变量对:

下面从http://www.tylervigen.com取样本数据来展示完整的处理流程。首先从中选择3个有共同时间范围的样本:第7号、第43号和第3890号,把它们放在同一个数据表中,保留各自的“年份”列。

数据表第一行和后面按年份排列的数据行如下所示:

使用combinations()函数基于9个变量生成所有二元比较对。

共有36种组合,去掉其中由各个年份列形成的组合,它们的相关系数是1.00。

从数据集中提取列的函数如下所示:

然后用前面介绍的corr()函数比较两列数据。

如下所示计算所有组合相关系数:

对于组合在一起的列,首先将它们从数据集中提取出来,header_p, *data_p =语句通过多重赋值将序列的第一个值(即标题)与后面的数据分离。如果标题一致,说明参与计算的是同一列。在上面的数据集中,由于存在3个重复的年份列,所以要排除这种情况。

之后用相关性函数处理这些列,得到相关系数,再打印出这些列的标题,这里特意选择了几个模式不同但相关度很高的伪相关特征。

计算结果如下:

数据体现出的模式的意义尚不清楚,为什么存在相关性?这些缺乏明确意义的、含混的相关性会干扰统计分析,但我们找到了那些相关性很高却缺乏关联因素的数据。

这里的重点是使用简单的表达式combinations(range(9), 2)生成了所有可能的数据组合。利用这类简单易用的技术让我们可以专注于处理数据分析中的问题,而不必费心于构建组合算法。

python所有组合_Python 生成所有组合相关推荐

  1. python创建窗体_python生成窗口

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 2.python生成目录树上述 cmd 方式虽然可以生成目录树,但是并不美观,让 ...

  2. 大乐透python预测程序_Python生成随机验证码,大乐透号码

    随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...

  3. python求字符组合_python – 生成一个潜在的8个字符串的所有可能的2个字符组合?...

    我有一个生成元组元组的所有可能组合 ( (base1 , position1) , (base2 , position2) ) 碱基= ["U","C",&qu ...

  4. python实现不重复排列组合_python 生成不重复和可重复的排列组合

    获取不重复排列组合 如abc三个元素,取两个相互组合,可重复取的话有,aa ab ac bb bc cc六种,不可重复取有 ab ac bc三种,从结果可以看出: 可重复取特点是,一个组合结果中,后一 ...

  5. python文件合法模式组合_python设计模式之组合模式

    最开始接触组合设计模式是在大话设计模式这本书中的案例,讲的是让你设计一个公司的组织架构,一个总公司下有人力资源部门,IT部门, 财务部门,还有广州分公司.深圳分公司,在分公司下也有IT部门和财务部门, ...

  6. python 排列组合_python 编写排列组合

    python在编写排列组合是会用到 itertools 模块 排列 import itertools mylist= list(itertools.permutations(['A','B','C', ...

  7. python 排列组合_Python 实现排列组合中 nCr 算法

    前言 本文提供一种使用 Python 计算 组合公式 nCr 比较高效的算法. 环境 Python 2.7. 公式中,n为下角标,m为上角标. C(n, m) = A(n, m) / m! = n! ...

  8. python组合和继承_python 继承与组合

    一.组合 #老师 课程 生日 class Course: def __init__(self,name,period,price): self.name = name self.period = pe ...

  9. python itertools 组合_Python itertools 排列组合

    组合 import itertools nums = [1, 2, 3, 4, 5, 6, 7, 8] for i in itertools.combinations(nums, 4): print( ...

最新文章

  1. libsndfile动态库在VS2010下面的调用
  2. 多阶段构建Docker镜像
  3. c语言编译错误 原文,C语言常见错误与警告
  4. 一个月学会Python,零基础入门数据分析
  5. ReactNative 踩坑之 iOS 原生组件
  6. php的?php ?标签匹配
  7. android 表情的正则,Android 手势 正则匹配图片实例代码
  8. echarts 生成 迁徙图_Echarts世界级迁徙图
  9. office图标修复工具_超好用的流程图绘图工具你还没get吗?
  10. java gc 命令_Java 查看系统GC命令介绍
  11. 如何将arcgis中shape要素文件转为mapgis中点线面
  12. matplotlib 柱状图画误差棒
  13. 外卖骑手的收入怎么样?
  14. C++ 字符跑酷#2 游戏制作实录
  15. 关于区块链的想法和感想
  16. Carla在Windows上的安装与运行
  17. 【学习小记】常系数齐次线性递推
  18. python3中 operator模块用法介绍
  19. Linux中chkconfig工具详解(世间有许多美好的东西,但真正属于自己的却并不多)
  20. AidLearning中使用Wizard布局python应用程序图形化界面

热门文章

  1. 【附源码】计算机毕业设计JAVA医院门诊管理系统
  2. 网上外卖及订餐系统的数据库设计
  3. 网络安全之小技巧保护(IIS)Web服务器
  4. moonseo怎么样?--致我逝去的3年seo青春!
  5. django框架--中间件系统
  6. UNCTF2020 wp
  7. Qt 在 Windows 下默认字体比较丑,但是我们有办法修改它
  8. Ecmall二次开发-登录退出机制
  9. 小概率按键失灵分析结论
  10. eclipse自动提示功能没有的解决办法