問題タブ [multi-index]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
184 参照

csv - パンダを使用したマルチインデックス列を含む CSV ファイルのインポート

Pandas read_csv を使用してマルチインデックス列で cvs データをインポートしようとしていますが、ヘッダー引数を整数のリストに設定するとエラーが発生しheader=[7,8]、リストが 1 つの整数のみの場合でもエラーが発生しますheader=[7]。でのインポートは成功しheader=7ますが、この例では列名が 1 レベルしかありません。

マルチインデックス列の名前を個別に指定できることは理解していますが、列がかなり少ないため、より効率的なソリューションを望んでいました。

データは次のとおりです。

バージョン 0.14 では、これにより、目的のスパンされた列ではなく、名前のない列が多数生成されます。

0 投票する
1 に答える
3986 参照

python - Pandas では、列の値に基づいてマルチインデックスの 1 つのレベルを並べ替え、他のレベルのグループ化を維持する方法

私は現在、大学でデータ マイニングのコースを受講していますが、複数インデックスの並べ替えの問題で少し行き詰まっています。

実際のデータには映画の約 100 万件のレビューが含まれており、アメリカの郵便番号に基づいて分析しようとしていますが、私が望むことを行う方法をテストするために、ランダムに生成された 250 のはるかに小さなデータ セットを使用しています。 10 本の映画の評価と、郵便番号の代わりに年齢層を使用しています。

これは私が今持っているものです。これは、「グループ」と「タイトル」の 2 つのレベルを持つ Pandas のマルチインデックス データフレームです。

私が目指しているのは、グループ内の評価に基づいてタイトルを並べ替えることです (各グループ内で最も人気のある 5 つほどのタイトルのみを表示します)。

このようなものです (ただし、各グループで 2 つのタイトルのみを表示します):

誰でもこれを行う方法を知っていますか? sort_order 、 sort_index などを試してレベルを交換しましたが、グループも混同されています。したがって、次のようになります。

私は次のようなものを探しています: Multi-Index Sorting in Pandasですが、別のレベルに基づいてソートするのではなく、値に基づいてソートしたいと考えています。その人が自分の売上列に基づいて並べ替えたい場合のようなものです。

ありがとう!

0 投票する
1 に答える
171 参照

boost - boost::multi_index コンテナのイテレータ機能の射影の複雑さ

boost::multi_index ライブラリ内のイテレータの射影の複雑さについて何か知っている人はいますか? ドキュメントはここboost::multi_index project of iteratorsにありますが、操作の複雑さについては述べていません。

基本的な考え方は、インデックス内のオブジェクトへの反復子を取得し、これを 2 番目のインデックスに射影して、2 番目のインデックス内の同じオブジェクトへの反復子を取得できるというものです。これが O(1) 操作の場合、効率的に 2 つのインデックスを維持できます。1 つは高速で検索可能で、もう 1 つは低速です。私が理解しているように、反復子の射影により、インデックス内でより高速に検索されるオブジェクトを見つけて、それを検索速度の遅いインデックスに射影することができます。

イテレータの射影のための単純な O(1) ルックアップなのか、それとも 2 番目のインデックスで検索操作を効果的に開始するだけなのか、したがって射影先の特定のインデックスに依存して遅くなるのかを知りたいと思っています。 O(1) よりも。

助けてくれてありがとう!

0 投票する
3 に答える
1393 参照

python-2.7 - パンダマルチインデックスデータフレームの列値を置き換えます

pandas データフレームの最初のインデックス値に基づいて条件付き置換を行いたいです。次のようなデータフレームがある場合:

次の方法で列の値を置き換えることができるはずだと思います:

ただし、これは元のデータフレームを変更せずに返します。これを行う方法と、現在の方法が機能しない理由を誰かが説明できますか?

0 投票する
1 に答える
3452 参照

python - インデックスと列の両方で MultiIndex 列を持つ 2 つの Pandas DataFrame をマージ/結合/追加します

私はこの机に頭をぶつけていました。方法があるかどうかわかりません。おそらく不可能なことを試みているのでしょう。

MultiIndex 列 (3 レベル) と時間インデックス (単一レベル) を持つ 2 つの DataFrame があります。最初は次のようになります。

この DF に以下を追加します。

行インデックスと列インデックスの両方を考慮します。結果は次のようになります。

Merge や Join など、いくつかの方法を試しましたが、うまくいきません。

何か案は?前もって感謝します。

PS上記の2つのDFを生成するために使用したコードを投稿できますが、それが助けになる場合は、少し長いです。しかし、いずれにせよ、私は一般的な答えを探しています.列の正確な名前または行のインデックスは無関係です(整数のインデックスである可能性もあります)。

0 投票する
4 に答える
3579 参照

python - Pandas で行と列の MultiIndex にブール値のインデックスを使用する

質問は太字で最後にあります。しかし、最初に、いくつかのデータを設定しましょう。

これは与える: データ

その後の分析のために、この DataFrame のサブセットを抽出したいと考えています。数字が 71の行をスライスしたいとします。これを行うためjerseyに を使用するという考えはあまり好きではありませんxs。断面を経由xsすると、選択した列が失われます。私が実行した場合:

その後、正しい行が返されますが、列が失われjerseyます。

xs_slice

また、列xsからいくつかの異なる値が必要な場合の優れた解決策とは思えません。jersey私は、はるかに優れた解決策がここにあるものだと思います:

boolean_slice_1

ジャージとチームの組み合わせでフィルタリングすることもできます。

boolean_slice_2

良い!

質問: 列のサブセットを選択するために、どうすれば同様のことを行うことができますか。 たとえば、Ralph からのデータを表す列のみが必要だとします。を使用せずにどうすればそれを行うことができxsますか? または、列のみが必要な場合はどうすればよいobserver in ['John', 'Ralph']ですか? 繰り返しますが、結果の行インデックスと列インデックスのすべてのレベルを保持するソリューションが本当に好きです...上記のブールインデックスの例のように。

行インデックスと列インデックスの両方からの選択を組み合わせることもできます。しかし、私が見つけた唯一の解決策には、いくつかの実際の体操が含まれます。

double_boolean_slice

したがって、2 番目の質問:上記で行ったことを行うためのよりコンパクトな方法はありますか?

0 投票する
2 に答える
927 参照

python - Python & Numpy: multi_index で特定の軸を反復処理していますか?

5 つの軸を持つ配列があります。

このリンクmulti_indexの 2 番目の例のように反復処理したいのですが、5 つの次元全体を反復処理する代わりに、最初の 3 つの次元を反復処理したいと考えています。(Numpy を使用せずに) Pythonic で行う方法は、次のようになります。

これを純粋なNumpyで実装するにはどうすればよいですか?

0 投票する
1 に答える
2229 参照

python - Pandas マルチインデックス DataFrame にアクセスして値を選択し、ヒートマップを作成する方法..!

これをクリックする時間をとってくれてありがとう..!

そうです、ヒートマップを作成しようとしています..

私が抱えている問題は、次のようなデータがあることです。

DataFrame のスクリーン ショーを参照してください。

  • これらの値はすべて一意です。つまり、a と b の組み合わせごとに 1 つの利益しかありません。

  • 私がしたい:x、yのヒートマップをプロットし、色はz値です..

私のx座標は、0.01間隔で1.01から2.0になるリストです

私のy座標は、同じことを行うリストです。たとえば、[1.01,1.02,1.03.. 1.99, 2.0]なので、このxとyのメッシュグリッドを作成します

上記の列から「利益」になりたい私のz座標、x = aおよびb = yの場合、利益をプロットします

しかし、ベクトル化、メッシュグリッドで x & y を使用した利益の抽出、a = x および b = y の場合の利益の検索に問題があります。

x & y でメッシュグリッドを作成する x & y のすべての組み合わせについて、a & b を求め、a = x および b = y を使用して利益を検索する そのような組み合わせが存在しない場合は、0 を返します 組み合わせが存在する場合、利益が + の場合、プロットします緑色の点 利益が - の場合、赤色の点をプロットします。利益が大きくなるほど緑が明るくなり、損失が大きくなるほど赤が明るくなり、ゼロは例えば青で表すことができます

これは私が行ったいくつかのコードとしての試みでした..さまざまなことを試して大幅に変更したため、あまり意味がありませんが、私がやろうとしていたことの要点を理解できます..

みんな、私は一日中これで遊んでいて、lookup()を試してオンラインで物を読んだり、階層インデックスを取り出したり、x、y、および利益の列を持つデータフレームを持ったりしています..しかし、ばかげたエラーが発生し続けます、エラー.. 私は実際に何をしているのかわかりません!

誰でもこれに光を当てることができますか?よろしくお願いします!!!!!

Ps 2014 年明けましておめでとうございます。