使用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实现的矩阵类实例
Aug 22 Python
python实现随机梯度下降(SGD)
Mar 24 Python
利用python将图片转换成excel文档格式
Dec 30 Python
Python对多属性的重复数据去重实例
Apr 18 Python
python中reader的next用法
Jul 24 Python
对python Tkinter Text的用法详解
Oct 11 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
django最快程序开发流程详解
Jul 19 Python
TensorFlow:将ckpt文件固化成pb文件教程
Feb 11 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 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
帝国cms常用标签汇总
2015/07/06 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
原生javascript实现分页效果
2017/04/21 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
小程序绑定用户方案优化小结
2019/05/15 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
python生成任意频率正弦波方式
2020/02/25 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
入党积极分子自我鉴定范文
2014/03/25 职场文书
英文求职信范文
2014/05/23 职场文书
家庭教育的心得体会
2014/09/01 职场文书
公务员年终个人总结
2015/02/12 职场文书
校园之声广播稿
2015/08/18 职场文书