pythonでのapply()、map()、agg()などの使い方
1825 ワード
(1)map()関数:map(function,iterable,...)map()は、指定された関数に基づいて指定されたシーケンスをマッピングします.最初のパラメータfunctionは、パラメータシーケンスの各要素でfunction関数を呼び出し、各function関数の戻り値を含む新しいリストを返します.function–関数iterable–1つ以上のシーケンス
pythonで返されるのは反復器です.(2)df.applymapp()構造:DataFrame.applymap(func)この方法は、データフレームの各要素にスカラーを受け入れ、返す関数を適用する.リファレンス
各要素に対してfunc操作が行われることを示します.
(3)#指定した軸上で1つ以上の操作で集約します.df.Agg()はdfに等価である.aggregate() DataFrame.agg(func, axis=0, *args, **kwargs)
結果:
リファレンスドキュメント
(4)df.apply() DataFrame.apply(func,axis=0,broadcast=None,raw=False,reduce=None,result_type=None,args=()**kwds)[source]この関数が最も有用なのは最初のパラメータであり、このパラメータは関数である.詳しくはご覧ください
結果:
(5)transform() df.transform() DataFrame.transform(func,axis=0,*args,*kwargs)は呼び出し関数funcを表し、元のデータと同じ長さのデータフレームを返し、メタデータ上で関数操作を行い、値参照を返す
結果:
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