代码之家  ›  专栏  ›  技术社区  ›  ernest_k Petronella

pandas如何解析df.agg中由名称指定的函数

  •  0
  • ernest_k Petronella  · 技术社区  · 6 年前

    我在学习熊猫和麻木,目前正在经历 this section 在教程中。我对Python完全陌生,所以这可能是一个基本的初学者问题。

    给定此数据帧:

    df = pd.DataFrame(np.random.randn(4, 3), columns=['A', 'B', 'C'],
                          index=pd.date_range('1/1/2000', periods=4))
    df.iloc[3:7] = np.nan
    

    我无法解释以下结果之间的差异 df.agg :

    呼叫1:

    df.agg(sum)
    
    #Result:
    A   NaN
    B   NaN
    C   NaN
    dtype: float64
    

    呼叫2:

    df.agg('sum')
    
    #Result:
    A   -1.776752
    B   -2.070156
    C   -0.124162
    dtype: float64
    

    结果 df.agg('sum') 与…相同 df.agg(np.sum) df.sum() . 我期待 AGG(“和”) 产生与 df.agg(sum) .

    熊猫是否有特殊的逻辑来解决这些功能 np.sum (或运行 df.sum )而不是内置的 sum ?

    1 回复  |  直到 6 年前
        1
  •  2
  •   BrenBarn    6 年前

    在您链接到的文档中,它说:

    也可以将命名方法作为字符串传递。

    因此,字符串在数据帧(或序列,如果调用 agg 在一系列中)