Pandas map/apply
pandas map,apply, applymap
pandas の列や行の演算方法
- 列 .map() or .apply()
- 全要素: applymap()
- 列または行単位に全列または全行 .apply()
基本使用例
import pandas as pd a = pd.Dataframe([1,2,3]) a.iloc[1] = [2,4,6] # シリーズにの各要素に適用 a['x'] = a[0].map(lambda p:p+1) # 全要素1つ1つに適用 b = a.applymap(lambda p:p+1) # 列単位で全列に適用 c = a.apply(lambda s:max(s)) # 行単位に全行に適用 d = a.apply(lambda s:min(s), axis=1)
行から一つの値を生成し、全行分を新たな列とする場合
a['sum'] = a.apply(lambda p: np.sum(p),axis=1)
applyで指定した関数への引数の型はSeries?