使用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 相关文章推荐
35个Python编程小技巧
Apr 01 Python
python进阶教程之异常处理
Aug 30 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
解决Django的request.POST获取不到内容的问题
May 28 Python
python视频按帧截取图片工具
Jul 23 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
Python任务自动化工具tox使用教程
Mar 17 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
Javascript 布尔型分析
2008/12/22 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
vue多次循环操作示例
2019/02/08 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
python实现京东秒杀功能
2018/07/30 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
Numpy之reshape()使用详解
2019/12/26 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
详解Python 函数参数的拆解
2020/09/02 Python
python爬取天气数据的实例详解
2020/11/20 Python
python爬虫 requests-html的使用
2020/11/30 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
美的官方商城:Midea
2016/09/14 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
英语道歉信范文
2014/01/09 职场文书
大学生涯自我鉴定
2014/01/16 职场文书
给同学的道歉信
2014/01/16 职场文书
教师考核材料
2014/05/21 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
django 认证类配置实现
2021/11/11 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技