使用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函数中参数的使用及默认参数的陷阱
Mar 13 Python
利用Python进行异常值分析实例代码
Dec 07 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
python 实现视频 图像帧提取
Dec 10 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
Dec 18 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
Python可视化工具如何实现动态图表
Oct 23 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
Pygame Event事件模块的详细示例
Nov 17 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
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
8个PHP数组面试题
2015/06/23 PHP
Javascript中的isNaN函数使用说明
2011/11/10 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
JavaScript中this详解
2015/09/01 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python str与repr的区别
2013/03/23 Python
pandas string转dataframe的方法
2018/04/11 Python
python3.x实现base64加密和解密
2019/03/28 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
Django封装交互接口代码
2020/07/12 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
C#基础面试题
2016/10/17 面试题
大学生职业生涯规划书汇总
2014/03/20 职场文书
讲党性心得体会
2014/09/03 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
MySQL 数据类型选择原则
2021/05/27 MySQL