使用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 相关文章推荐
Python中实现对list做减法操作介绍
Jan 09 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python爬豆瓣电影实例
Feb 23 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
dataframe设置两个条件取值的实例
Apr 12 Python
python之super的使用小结
Aug 13 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
python实现大文本文件分割
Jul 22 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
Python 如何批量更新已安装的库
May 26 Python
基于tensorflow权重文件的解读
May 26 Python
python 爬取华为应用市场评论
May 29 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
php5.5中类级别的常量使用介绍
2013/10/02 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
json 实例详细说明教程
2009/10/31 Javascript
关于js datetime的那点事
2011/11/15 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
H5上传本地图片并预览功能
2017/05/08 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
详解微信小程序开发聊天室—实时聊天,支持图片预览
2019/05/20 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python面向对象特殊成员
2017/04/24 Python
Apache如何部署django项目
2017/05/21 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
Pycharm github配置实现过程图解
2020/10/13 Python
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
好人好事事迹材料
2014/02/12 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
python blinker 信号库
2022/05/04 Python