Python运维与数据分析python机器学习数据科学与Python

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

2017-12-20  本文已影响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()函数:

上一篇下一篇

猜你喜欢

热点阅读