• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

pandas transform

date: 2023-10-28 excerpt: pandasのtransform関数の使い方

tag: pythonpandastransform


pandasのtransform関数の使い方

概要

  • 要素やグループに対して、関数を適用する
  • 特に、グループごとに、要素の値を変換する事が多い

pd.Seriesに対してのtransform

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [10, 20, 30, 40]
})

df['A'] = df['A'].transform(lambda x: x - df['A'].mean())
df

"""
|index|A|B|
|---|---|---|
|0|-1\.5|10|
|1|-0\.5|20|
|2|0\.5|30|
|3|1\.5|40|
"""

pd.GroupByに対してのtransform

import pandas as pd

df = pd.DataFrame({
    'group': ['A', 'A', 'A', 'B', 'B', 'B'],
    'value': [1, 2, 3, 4, 5, 6]
})

df['rolling_mean'] = df.groupby('group')['value'].transform(lambda x: x.rolling(2).mean())
df
"""
|index|group|value|rolling\_mean|
|---|---|---|---|
|0|A|1|NaN|
|1|A|2|1\.5|
|2|A|3|2\.5|
|3|B|4|NaN|
|4|B|5|4\.5|
|5|B|6|5\.5|
"""

Google Colaboratory

  • pandas-transform-example


pythonpandastransform Share Tweet