グループとしてのLevel = 0によるマルチレベル列の単純なベクトル化された数学

ディンゴ

私はこのデータを持っています:

import pandas as pd
import numpy  as np

index = pd.MultiIndex.from_tuples(list(zip(*[['one', 'one', 'two', 'two'],['foo', 'bar', 'foo', 'bar']])))
df = pd.DataFrame(np.arange(12).reshape((3,4)), columns=index)

  one     two    
  foo bar foo bar
0   0   1   2   3
1   4   5   6   7
2   8   9  10  11

次のような特定の列レベルのペアを参照せずに、レベル1の各列のレベル0のグループ列ごとに単純なベクトル化された計算(加算など)を実行する方法はありますか?

df[('one','add')] = df[('one','foo')]+df[('one','bar')]

入手したい

  one          two      
  foo bar add  foo bar add
0   0   1   1    2   3   5
1   4   5   9    6   7  13
2   8   9  17   10  11  21
ジム

私は少しそれをいじりました、そしてここに私の意見の問題を解決するワンライナーがあります。完全にベクトル化されており、特定の列名には対応していません。また、add列を適切な場所に配置します。

df.stack(0).assign(add=df.stack(0).sum(axis=1)).stack(0).unstack(0).T

ここに画像の説明を入力してください

残念ながら、最も内側のレベルでスタック/アンスタックを実行するためのスタック/アンスタックのプロパティのため、不可解な.stack(0).unstack(0)操作が必要です。これらの2つの操作は互いに打ち消し合う必要があるように見えますが、実際には、順序を維持しながらインデックスレベルをシャッフルします。

これは、assignステートメントなしで3行に分割された同じものです。

df = df.stack(0)
df['add'] = df.sum(axis=1)
df = df.stack(0).unstack(0).T

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

文字列のベクトルとして記述されたcolnamesによるdplyrグループ

分類Dev

Numpyでのベクトル化とNumexprを介したベクトル化された式のマルチスレッド化の違いを理解する

分類Dev

単純なNumpyのベクトル化

分類Dev

MavenマルチモジュールプロジェクトのネストされたモジュールをIntelliJIDEAのトップレベルモジュールとして表示するにはどうすればよいですか?

分類Dev

文字列のベクトルとして格納された変数を「by」グループ化するときにdata.tableを要約します

分類Dev

NAを使用してベクトルを処理するための単純なフォーマット関数のベクトル化

分類Dev

この(非常に単純な)ベクトル化されたコードがNumpyよりも桁違いに遅いのはなぜですか?

分類Dev

この(非常に単純な)ベクトル化されたコードがNumpyよりも桁違いに遅いのはなぜですか?

分類Dev

2レベルのマルチイデックスシリーズをデータフレームに再グループ化して、2番目のレベルのインデックスが名前になるようにしますか?

分類Dev

マルチレベルのネストされたクエリ

分類Dev

単純なベクトル、新しい配列のアドレスを正しく再割り当てするにはどうすればよいですか

分類Dev

列の並べ替えと上位の結果のフィルタリング、マルチインデックスレベル0(シリーズ/データフレーム)によるグループ化

分類Dev

パンダのマルチレベル列を設定してグループ化する方法は?

分類Dev

適用または他のベクトル化されたアプローチを使用して列のコンテンツをマージする

分類Dev

Angular 7:マルチレベルのネストされたフィールドグループを使用してフォームを作成するときに直面する問題を理解するための支援が必要

分類Dev

リストのマルチレベルリストを単一レベルにフラット化する

分類Dev

文字列を分割してマルチレベルのネストされた辞書を作成するにはどうすればよいですか?

分類Dev

マルチレベルの多対多の関係を独立したグループにグループ化するOracleクエリ

分類Dev

テンプレート化されたベクトルのコンストラクター(数学の種類)

分類Dev

JavaScriptとjQueryを使用してマルチレベルのネストされたJSONデータを表示する

分類Dev

JavaScriptとjQueryを使用してマルチレベルのネストされたJSONデータを表示する

分類Dev

jqueryを使用して単純なHTMLリストをマルチレベルに変換する方法

分類Dev

トップレベルでグループ化されたマルチインデックスをプロットするパンダグループ

分類Dev

VanillaJSのオブジェクトの配列に関するマルチレベルグループ

分類Dev

Rのベクトルで指定された列の数学演算

分類Dev

ベクトル化された関数とベクトル化されていない関数の両方をnumpy配列に適用します

分類Dev

次の単純な並列化されたコードがPythonの単純なループよりもはるかに遅いのはなぜですか?

分類Dev

ピボットテーブルのインデックスとして設定されたマルチレベル列

分類Dev

Highchart / Highstockは、データのグループ化が有効になっているが使用されていない場合に、フォーマットされていないツールチップラベルを表示します

Related 関連記事

  1. 1

    文字列のベクトルとして記述されたcolnamesによるdplyrグループ

  2. 2

    Numpyでのベクトル化とNumexprを介したベクトル化された式のマルチスレッド化の違いを理解する

  3. 3

    単純なNumpyのベクトル化

  4. 4

    MavenマルチモジュールプロジェクトのネストされたモジュールをIntelliJIDEAのトップレベルモジュールとして表示するにはどうすればよいですか?

  5. 5

    文字列のベクトルとして格納された変数を「by」グループ化するときにdata.tableを要約します

  6. 6

    NAを使用してベクトルを処理するための単純なフォーマット関数のベクトル化

  7. 7

    この(非常に単純な)ベクトル化されたコードがNumpyよりも桁違いに遅いのはなぜですか?

  8. 8

    この(非常に単純な)ベクトル化されたコードがNumpyよりも桁違いに遅いのはなぜですか?

  9. 9

    2レベルのマルチイデックスシリーズをデータフレームに再グループ化して、2番目のレベルのインデックスが名前になるようにしますか?

  10. 10

    マルチレベルのネストされたクエリ

  11. 11

    単純なベクトル、新しい配列のアドレスを正しく再割り当てするにはどうすればよいですか

  12. 12

    列の並べ替えと上位の結果のフィルタリング、マルチインデックスレベル0(シリーズ/データフレーム)によるグループ化

  13. 13

    パンダのマルチレベル列を設定してグループ化する方法は?

  14. 14

    適用または他のベクトル化されたアプローチを使用して列のコンテンツをマージする

  15. 15

    Angular 7:マルチレベルのネストされたフィールドグループを使用してフォームを作成するときに直面する問題を理解するための支援が必要

  16. 16

    リストのマルチレベルリストを単一レベルにフラット化する

  17. 17

    文字列を分割してマルチレベルのネストされた辞書を作成するにはどうすればよいですか?

  18. 18

    マルチレベルの多対多の関係を独立したグループにグループ化するOracleクエリ

  19. 19

    テンプレート化されたベクトルのコンストラクター(数学の種類)

  20. 20

    JavaScriptとjQueryを使用してマルチレベルのネストされたJSONデータを表示する

  21. 21

    JavaScriptとjQueryを使用してマルチレベルのネストされたJSONデータを表示する

  22. 22

    jqueryを使用して単純なHTMLリストをマルチレベルに変換する方法

  23. 23

    トップレベルでグループ化されたマルチインデックスをプロットするパンダグループ

  24. 24

    VanillaJSのオブジェクトの配列に関するマルチレベルグループ

  25. 25

    Rのベクトルで指定された列の数学演算

  26. 26

    ベクトル化された関数とベクトル化されていない関数の両方をnumpy配列に適用します

  27. 27

    次の単純な並列化されたコードがPythonの単純なループよりもはるかに遅いのはなぜですか?

  28. 28

    ピボットテーブルのインデックスとして設定されたマルチレベル列

  29. 29

    Highchart / Highstockは、データのグループ化が有効になっているが使用されていない場合に、フォーマットされていないツールチップラベルを表示します

ホットタグ

アーカイブ