numpy.ndarray.flat/flatten 与 Spark 下的 flatMap
2016-04-01 10:03
323 查看
numpy.ndarray.flat/flatten
flat:使平坦,在编程上就对应着二维变一维。(1)numpy.ndarray.flat 和 numpy,ndarray.T 一样不是函数调用,因此不可以跟函数调用操作符(也即一对小括号),因此也不可以指定平坦化的参数,比如按行平坦还是按列平坦,其默认的 flat 的动作是逐行(row-major)进行的。
>>> import numpy as np >>> X = np.random.randint(0, 5, (2, 3)) array([[3, 0, 2], [1, 2, 2]]) >>> x = X.flat >>> x <numpy.flatiter object at 0x9e82278> # 不直接返回一维数组 # 但可直接索引 >>> x[0] >>> x[3] 1 >>> np.array(x) array([3, 0, 2, 1, 2, 2])
(2)numpy.ndarray.flatten() 是函数调用,可以指定平坦化的参数。
ndarray.flatten(order='C')
可选参数,order:
(1)’C’:C-style,行序优先
(2)’F’:Fortran-style,列序优先
(3)’A’:保持
(4)默认为’C’
Spark 下的 flatMap
Spark 下的 flatMap 就类似于 numpyt 对多维数组的 flat,也即按行序进行扁平化;Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象;
而flatMap函数则是两个操作的集合——正是“先映射后扁平化”:
操作1:同map函数一样:对每一条输入进行指定的操作,然后为每一条输入返回一个对象
操作2:最后将所有对象合并为一个对象
相关文章推荐
- Day3、Python
- python学习笔记(session)
- Python函数的各种参数(含星号参数)
- Python 基础 —— re:正则表达
- Python中遇到"UnicodeDecodeError: ‘gbk’ codec can’t decode bytes in position 2-3: illegal multibyte sequ
- python基于隐马尔可夫模型实现中文拼音输入
- Python 2.x vs Python 3.x(四)—— TypeError: unhashable type
- python3.5 + django1.9.1+mysql
- python中的条件语句,分支语句以及逻辑运算符和比较运算符
- 学python过程中遇到的一些问题及解决方法
- python爬虫(爬游民星空图片)_beautifulsoup爬虫模版
- python基于隐马尔可夫模型实现中文拼音输入
- python初识
- Python学习第十五天
- python 下载页面数据 到 execl表
- 一行 Python 实现并行化 -- 日常多线程操作的新思路
- Python学习笔记day11
- python 多继承(新式类) 三
- Python基础知识注意点
- Python写爬虫-爬甘农大学校新闻