DataFrame中的apply()和applymap()函数

作者: 摔死的飞猪 | 来源:发表于2017-12-20 16:01 被阅读17次

    1、首先,复习一下python中的map()函数:

    2、如果我希望对于frame中的每一个元素都使用某个函数的话,其实是可以使用numpy中的ufunc的,结果返回的也是一个dataframe。

    3、现在,如果我希望对于frame的每行或者说是每列运用函数,比如说我要求这个行(列)的最大值或者最小值或者均值之类的,就是使用聚合函数,我应该怎么办呢?答案是你可以使用apply()函数:

    上面的函数返回的结果仅仅是返回某行(列)的某个聚合结果,最终返回的也就是一个Series,如果要同时返回某行或者某列的两个聚合值,比如说同时返回最大值和最小值,可以采用下面的方式:

    这里的关键是要明白,apply()函数是传入一个函数,然后这个函数会作用于frame的某一行或者列,这里返回的结果依然是一个dataframe,所以,apply()函数的返回的结果会根据实际情况进行调整。

    4、现在我们的目标是希望类似于python的列表的map()函数一样,对于frame中的每个元素使用某种函数,比如取该元素的平方:

    显然,dataframe中是没有map()这个函数的用法的,但是series中有map()函数:

    所以,这里就有了applymap()函数,通俗一点讲,就是apply + map,对于每一行或者列中的元素使用map()函数:

    相关文章

      网友评论

        本文标题:DataFrame中的apply()和applymap()函数

        本文链接:https://www.haomeiwen.com/subject/rovgwxtx.html