qshinoの日記

Powershell関係と徒然なこと

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?

参考

https://deepage.net/features/pandas-apply.html