使用python实现多维数据降维操作


Posted in Python onFebruary 24, 2020

一,首先介绍下多维列表的降维

def flatten(a):
 for each in a:
  if not isinstance(each,list):
   yield each
  else:
   yield from flatten(each)
if __name__ == "__main__":
 a = [[1,2],[3,[4,5]],6]
 print(list(flatten(a)))

二、这种降维方法同样适用于多维迭代器的降维

from collections import Iterable
 
def flattern(a):
 for i in a:
  if not isinstance(i,Iterable) or isinstance(i,str):
   yield i
  else:
   yield from flattern(i)
if __name__ == "__main__":
 a = [[1,2],(3,4,tuple(5,)),["6,7,8"],[9,range(10,20,1)]]
 print(list(flattern(a)))

iterable:可迭代的,迭代器,在Python中iterable被认为是一个对象,这个对象可以一次返回它的一个成员(也就是对象里面的元素),Python中的string,list,tuple,dict,file,xrange都是可迭代的,都属于iterable对象,可迭代的对象都是可以遍历的,实际上Python中有很多iterable类型是使用iter()函数来生成的。

补充:将一个多维数组彻底的降维

废话不多说,直接上代码

const flattenDeep = arr =>
 Array.isArray(arr)
 ? arr.reduce((a, b) => [...a, ...flattenDeep(b)], [])
 : [arr];

以上这篇使用python实现多维数据降维操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2实现的LED大数字显示效果示例
Sep 04 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
Django后台admin的使用详解
Jul 08 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python Django里CSRF 对应策略详解
Aug 05 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Python自动化之批量处理工作簿和工作表
Jun 03 Python
python数据预处理 :数据抽样解析
Feb 24 #Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 #Python
Python流程控制常用工具详解
Feb 24 #Python
深入浅析Python 函数注解与匿名函数
Feb 24 #Python
python数据预处理方式 :数据降维
Feb 24 #Python
python实现PCA降维的示例详解
Feb 24 #Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 #Python
You might like
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
jQuery设计思想
2017/03/07 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
详解Django中异步任务之django-celery
2020/11/05 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
接受捐赠答谢词
2014/01/27 职场文书
工地标语大全
2014/06/18 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python