zoukankan      html  css  js  c++  java
  • python里的apply,applymap和map的区别

    apply,applymap和map的应用
    总结:

    apply 用在dataframe上,用于对row或者column进行计算;

    applymap 用于dataframe上,是元素级别的操作;

    map (其实是python自带的)用于series上,是元素级别的操作。

    如:
    >>> df = pd.DataFrame(np.random.randint(0,10,(4, 3)), columns=list('bde'), index=range(4))
    >>> df
       b  d  e
    0  2  0  5
    1  8  9  1
    2  3  6  6
    3  4  8  4
    
    

    apply:作用在dataframe的一行或一列上

    >>> f = lambda x: x.max() - x.min()
    >>> df.apply(f)
    b    6
    d    9
    e    5
    dtype: int64 
    >>> df.apply(f,axis=1)  # 作用在一行上
    0    5
    1    8
    2    3
    3    4
    dtype: int64
    >>> df.apply(f,axis=0)  # 作用在一列上,axis=0可省略
    b    6
    d    9
    e    5
    dtype: int64

    applymap: 作用在dataframe的每一个元素上

    >>> f2 = lambda x: x+1 if x%2==0 else x
    >>> df.applymap(f2)
       b  d  e
    0  3  1  5
    1  9  9  1
    2  3  7  7
    3  5  9  5

     关于apply传入多个参数:

    >>> data = {'id':range(5),'value':list("abcab")}
    >>> frame = pd.DataFrame(data)
    >>> frame
       id value
    0   0     a
    1   1     b
    2   2     c
    3   3     a
    4   4     b
    
    >>> def testf(x, str):
    ...     return x,str
    
    >>> frame["id"].apply(testf, args=("ok",))
    0    (0, ok)
    1    (1, ok)
    2    (2, ok)
    3    (3, ok)
    4    (4, ok)
    Name: id, dtype: object
    # 注意这里args只能传入(元组),不能是"ok"或("ok")
     
  • 相关阅读:
    SharePoint 2013 工作流之使用Visio设计篇
    SharePoint 2013 工作流之Visual Studio开发示例篇
    Ajax
    jq判断上下滚动
    元素(绝对定位)水平垂直居中
    css3动画:animation
    自定义button上传按钮
    Json
    页面滚动到顶部
    HDU 4358 Boring counting dfs序+莫队算法
  • 原文地址:https://www.cnblogs.com/cymwill/p/7577369.html
Copyright © 2011-2022 走看看