使用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 19 Python
Python对多属性的重复数据去重实例
Apr 18 Python
对python sklearn one-hot编码详解
Jul 10 Python
Python常见数字运算操作实例小结
Mar 22 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
解决Python对齐文本字符串问题
Aug 28 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
Django重设Admin密码过程解析
Feb 10 Python
Pytorch十九种损失函数的使用详解
Apr 29 Python
python新手学习可变和不可变对象
Jun 11 Python
python图片合成的示例
Nov 09 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 setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
PHP最常用的正则表达式
2017/02/13 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
js调试系列 初识控制台
2014/06/18 Javascript
js使用心得分享
2015/01/13 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法
2019/02/21 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python调用cmd命令行制作刷博器
2014/01/13 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
船舶专业个人求职信范文
2014/01/02 职场文书
研究生毕业鉴定
2014/01/29 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
中学生运动会广播稿
2015/08/19 职场文书
篮球拉拉队口号
2015/12/25 职场文书
如何使用python包中的sched事件调度器
2022/04/30 Python