numpy.ndarray.flat/flatten 与 Spark 下的 flatMap

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:最后将所有对象合并为一个对象

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值