使用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命令行交互提示符的方法
Jan 14 Python
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
tensorflow实现简单的卷积网络
May 24 Python
在Pycharm中项目解释器与环境变量的设置方法
Oct 29 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
python os.fork() 循环输出方法
Aug 08 Python
pytorch实现线性拟合方式
Jan 15 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
Python xlwt模块使用代码实例
Jun 10 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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批量生成缩略图的代码
2008/07/19 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
javascript 特殊字符串
2009/02/25 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
javascript关于继承解析
2016/05/10 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
vue实现文字加密功能
2019/09/27 Javascript
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
儿童学习python的一些小技巧
2018/05/27 Python
如何更优雅地写python代码
2019/07/02 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
竟聘演讲稿范文
2013/12/31 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
异地恋情人节寄语
2015/02/28 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
亲情作文之母爱
2019/09/25 职场文书
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技