python数据降维_使用python实现多维数据降维操作
一,首先介紹下多維列表的降維
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實現多維數據降維操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持菜鳥教程www.piaodoo.com。
總結
以上是生活随笔為你收集整理的python数据降维_使用python实现多维数据降维操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搬家技巧有哪些电脑如何搬家
- 下一篇: python正则表达式提取电话号码_Py