pandaにおけるapply()メソッドの紹介
2895 ワード
1.apply()説明
役割範囲:pandasの
2.apply()の応用過程
(1)
出力結果から分かるように、この関数は複数回実行され、実行のたびに
3.apply()アプリケーション
(1)上記の例によって、
4.まとめ カスタム関数の最初のパラメータは、次の「緯度」を表します.
役割範囲:pandasの
Series
とDataFrame
の役割:apply()
メソッドを使用することで、コード構造をより明確にし、簡潔にするために、自分で定義した関数を呼び出すことができます.2.apply()の応用過程
Series
およびDataFrame
がapply()
メソッドを呼び出し、次に、Series
およびDataFrame
の次の「緯度」を表すカスタム関数の最初のパラメータを使用する場合.たとえば、DataFrame
の場合、パラメータは彼の各列です.Series
であれば、彼のすべての値です.(1)
DataFrame
、パラメータは彼の各列egである:DataFrame
の各フィールドの偏度とピーク度を計算するimport pandas as pd
import numpy as np
df = pd.DataFrame({
'key1':[1, 2, 3, 4, 5],
'key2':[4, 5, 6, 2, 1]
})
def skew_kurt(x):
print(x, type(x))
skews = x.skew()
kurts = x.kurt()
return pd.Series([skews, kurts], index=['skew', 'kurt']) # Series Series, DataFrame,
print(df.apply(skew_kurt))
# :
0 1
1 2
2 3
3 4
4 5
Name: key1, dtype: int64
0 1
1 2
2 3
3 4
4 5
Name: key1, dtype: int64
0 4
1 5
2 6
3 2
4 1
Name: key2, dtype: int64
key1 key2
skew 0.0 -0.235514
kurt -1.2 -1.963223
出力結果から分かるように、この関数は複数回実行され、実行のたびに
DataFrame
の列が渡されます.(2)Series
、パラメータは彼の各値egである:Series
の各値をその値の最初の文字で置き換えるimport pandas as pd
import numpy as np
s = pd.Series(['wang', 'li', 'zhao'])
def text(x):
print(x, type(x))
return x[0] # Series Series, DataFrame,
print(s.apply(text))
# :
wang
li
zhao
0 w
1 l
2 z
dtype: object
3.apply()アプリケーション
(1)上記の例によって、
Series
およびDataFrame
(2)apply()
の方法に適用することができ、パケット−groupby()
にも適用することができることが分かる.パラメータも次の緯度を表します.eg: import pandas as pd
import numpy as np
df = pd.DataFrame({'data1':np.random.rand(5),
'data2':np.random.rand(5),
'key1':list('aabba'),
'key2':['one','two','one','two','one']})
print(df.groupby('key1').apply(lambda x: x.describe()))
# :
a count 3.000000 3.000000
mean 0.693046 0.608697
std 0.257070 0.522231
min 0.396401 0.011814
25% 0.614231 0.422315
50% 0.832060 0.832817
75% 0.841368 0.907138
max 0.850676 0.981459
b count 2.000000 2.000000
mean 0.352287 0.482039
std 0.343271 0.675147
min 0.109558 0.004638
25% 0.230922 0.243339
50% 0.352287 0.482039
75% 0.473651 0.720740
max 0.595016 0.959441
4.まとめ
apply()
メソッドを使用することで、コード構造をより明確にし、簡潔にするために、独自に定義された関数を呼び出すことができます.