2つのデータフレームをマップし、辞書を使用して合計演算を実行します

constiii

私はデータフレームdfを持っています

df

   Object        Action  Cost1  Cost2
0     123      renovate  10000   2000
1     456  do something      0     10
2     789        review   1000     50

および辞書辞書と呼ばれる)

dictionary

{'Object_new': ['Object'],
 'Action_new': ['Action'],
 'Total_Cost': ['Cost1', 'Cost2']}

さらに、(最初は空の)データフレームdf_newがあります。これには、列名を変える必要があり(辞書に従って名前を付ける)、dfの一部の列を統合する必要があることを除いて、dfとほぼ同じ情報が含まれている必要があります(例:辞書に基づく合計演算)。

結果は次のようになります。

df_new

   Object_new    Action_new  Total_Cost
0         123      renovate       12000
1         456  do something          10
2         789        review        1050

辞書だけを使用してこの結果を達成するにはどうすればよいですか?.map()関数を使おうとしましたが、それを使って合計演算を実行する方法がわかりませんでした。

データフレームと辞書の両方を再現するためのコードが添付されています。

# import libraries
import pandas as pd


### create df
data_df = {'Object':  [123, 456, 789],
        'Action': ['renovate', 'do something', 'review'],
        'Cost1': [10000, 0, 1000],
        'Cost2': [2000, 10, 50],
        }

df = pd.DataFrame(data_df)


### create dictionary
dictionary = {'Object_new':['Object'], 
              'Action_new':['Action'], 
              'Total_Cost' : ['Cost1', 'Cost2']}


### create df_new
# data_df_new = pd.DataFrame(columns=['Object_new', 'Action_new', 'Total_Cost' ])
data_df_new = {'Object_new':  [123, 456, 789],
        'Action_new': ['renovate', 'do something', 'review'],
        'Total_Cost': [12000, 10, 1050],
        }
df_new = pd.DataFrame(data_df_new)
クアンホアン

との遊びgroupby

inv_dict = {x:k for k,v in dictionary.items() for x in v}
df_new =  df.groupby(df.columns.map(inv_dict),
                     axis=1).sum()

出力:

     Action_new  Object_new  Total_Cost
0      renovate         123       12000
1  do something         456          10
2        review         789        1050

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

辞書ルックアップといくつかの簡単な計算を使用してデータフレーム値を作成します

条件に基づいて、データフレーム内の辞書の複数の行を合計します

データフレーム内の2つの列の差に基づいて辞書の値を合計し、最初の列を2で除算します-Python

列の1つを合計して、2つのデータフレームを外部マージします

データフレーム内の2つの列の組み合わせを使用して辞書列を作成し、共通のキーを使用して2つの列の値の比率を計算します

キーと値を使用して2つのリストを1つの辞書に結合し、データフレームに変換します

2つのデータフレーム列を参照として使用して値をマップします

異なる辞書を持つデータフレームの列をマップします

集計を使用して、データフレームの列を2つの条件でマージします

複合キーを使用してパンダのデータフレームを辞書にマッピングします

tidyverseを使用して長い形式のデータフレームで2つの変数を合計します

完全に一致しない辞書を使用してデータフレームをマップする

辞書を使用してデータフレームインデックスをマップする

Pandasデータフレーム:行を1つの行にマージし、列を合計します

2つのデータフレームを結合し、値を合計して最大値を取得します

2つのデータフレームでマージを実行します

マージまたは結合を使用して2つのデータフレームを比較しますか?

辞書の2つのキーを同じ値にマップするデータフレーム列を作成します

データフレームの1つをキーとして使用して、Pythonのデータフレームを辞書に結合する

複数の「by」を使用して2つのデータフレームをマージ/結合しますか?

2つのデータフレームを1つにして、合計を集計します

Rを使用してデータフレーム内の変数間で統計演算を実行する

パンダで正規表現を使用して、2つのデータフレーム間で左結合/マージを実行できますか?

辞書の列を使用してパンダデータフレームに行を追加します

2つのデータフレームを組み合わせて、plotly-expressを使用してデータを1行としてプロットする方法

2つのデータフレームをネストされた辞書とマージします

データフレームの行をマージし、2つの列の加重和を実行します

2つのデータフレームを使用して条件付き(別名ルックアップ)関数を実行しますか?

異なるグラフを使用して、2つのデータフレームのデータを1つのプロットに結合します

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    どのように関係なく、それがどのように「悪い」、すべてのSSL証明書でのHttpClientを使用しないように

  3. 3

    Modbus Python Schneider PM5300

  4. 4

    Ansibleで複数行のシェルスクリプトを実行する方法

  5. 5

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  6. 6

    System.Data.OracleClient.OracleException:ORA-06550:行1、列7:

  7. 7

    インデックス作成時のドキュメントの順序は、Elasticsearchの検索パフォーマンスを向上させますか?

  8. 8

    scala.xmlノードを正しく比較する方法は?

  9. 9

    NGX-ブートストラップ:ドロップダウンに選択したアイテムが表示されない

  10. 10

    Elasticsearch - あいまい検索は、提案を与えていません

  11. 11

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  12. 12

    Elasticsearchの場合、間隔を空けた単語を使用したワイルドカード検索

  13. 13

    Elasticsearchでサーバー操作を最適化:低いディスク透かしに対処する

  14. 14

    ラベルとエントリがpythontkinterに表示されないのはなぜですか?

  15. 15

    変数値を含むElasticSearch検索結果

  16. 16

    グラフ(.PNG)ファイルをエクスポートするZabbix

  17. 17

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  18. 18

    Audacity:プロジェクトではなく、サウンドファイルのみを保存します

  19. 19

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  20. 20

    Excelは、メモ帳データの複数の列を1つの列として解釈します

  21. 21

    ブラウザがHTMLテンプレートを解釈しない

ホットタグ

アーカイブ