pythonでのapply()、map()、agg()などの使い方

1825 ワード

(1)map()関数:map(function,iterable,...)map()は、指定された関数に基づいて指定されたシーケンスをマッピングします.最初のパラメータfunctionは、パラメータシーケンスの各要素でfunction関数を呼び出し、各function関数の戻り値を含む新しいリストを返します.function–関数iterable–1つ以上のシーケンス
def f(x):
    return x*x
map(f,[2,3])

pythonで返されるのは反復器です.(2)df.applymapp()構造:DataFrame.applymap(func)この方法は、データフレームの各要素にスカラーを受け入れ、返す関数を適用する.リファレンス
df = pd.DataFrame([[1, 2.12], [3.356, 4.567]])
df.applymap(lambda x: len(str(x)))

各要素に対してfunc操作が行われることを示します.
	0	1
0	3	4
1	5	5

(3)#指定した軸上で1つ以上の操作で集約します.df.Agg()はdfに等価である.aggregate() DataFrame.agg(func, axis=0, *args, **kwargs)
df = pd.DataFrame([[1, 2, 3],
                    [4, 5, 6],
                   [7, 8, 9],
                  [np.nan, np.nan, np.nan]],
                  columns=['A', 'B', 'C'])
df.agg(['sum', 'min'])    
df.aggregate(['sum', 'min'])#   df.agg()              

結果:
      A	      B  	C
sum	12.0	15.0	18.0
min	1.0	    2.0 	3.0

リファレンスドキュメント
(4)df.apply() DataFrame.apply(func,axis=0,broadcast=None,raw=False,reduce=None,result_type=None,args=()**kwds)[source]この関数が最も有用なのは最初のパラメータであり、このパラメータは関数である.詳しくはご覧ください
df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B'])
df.apply(np.sqrt)

結果:
	A	B
0	2.0	3.0
1	2.0	3.0
2	2.0	3.0

(5)transform() df.transform() DataFrame.transform(func,axis=0,*args,*kwargs)は呼び出し関数funcを表し、元のデータと同じ長さのデータフレームを返し、メタデータ上で関数操作を行い、値参照を返す
import numpy as np
s = pd.Series(range(3))
s.transform([np.sqrt,np.exp])

結果:
sqrt	exp
0	0.000000	1.000000
1	1.000000	2.718282
2	1.414214	7.389056