pandaにおけるapply()メソッドの紹介


1.apply()説明
役割範囲:pandasのSeriesDataFrameの役割:apply()メソッドを使用することで、コード構造をより明確にし、簡潔にするために、自分で定義した関数を呼び出すことができます.
2.apply()の応用過程SeriesおよびDataFrameapply()メソッドを呼び出し、次に、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()メソッドを使用することで、コード構造をより明確にし、簡潔にするために、独自に定義された関数を呼び出すことができます.
  • カスタム関数の最初のパラメータは、次の「緯度」を表します.