任意のデータフレーム列に辞書を用いてマッピング

Mapping Dictionary Values to Pandas Data-frame Column – StackOverflow

マッピング ~ ルックアップ.なので,pandas.DataFrame.lookupがリーズナブルチョイス.それをピュアにやるなら内包表記がリーズナブルだけど,pandas.DataFrame.lookupは効率が良かったと思うので,敢えて内包表記に置き換える必要は無いと思う.

import pandas as pd


d =  {
    1: {'help': 2}, 
    2: {'chocolate': 1, 'help': 1}, 
    3: {'chocolate': 1, 'help': 1}
}
df = pd.DataFrame(d)
print(df, end='\n\n')

df2 = pd.DataFrame({
    'docId': [1, 2, 3, 1, 2, 3, ],
    'sent': ['help', 'chocolate', 'chocolate', 'help', 'help', 'help']
})
res = df2.assign(freq=df.lookup(df2['sent'], df2['docId']))
print(res, end='\n\n')
             1  2  3
chocolate  NaN  1  1
help       2.0  1  1

   docId       sent  freq
0      1       help   2.0
1      2  chocolate   1.0
2      3  chocolate   1.0
3      1       help   2.0
4      2       help   1.0
5      3       help   1.0
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください