データフレームの列値を使用して、マルチインデックスデータフレームの行にインデックスを付ける

user1934212

マルチインデックスデータフレームの行にインデックスを付けるにはどうすればよいですか

import pandas as pd
import numpy as np
np.random.seed(0)
tuples = list(zip(*[['bar', 'bar', 'baz', 'baz'],['one', 'two', 'one', 'two']]))
idx = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(4, 2), index=idx, columns=['A', 'B'])
print(df)
                     A         B
first second
bar   one     1.764052  0.400157
      two     0.978738  2.240893
baz   one     1.867558 -0.977278
      two     0.950088 -0.151357

2番目のデータフレームの列を使用する

idxDf = pd.DataFrame({'first':['bar','baz'],'second':['one','two']})
print(idxDf)
  first second
0   bar    one
1   baz    two

結果のデータフレームが

first second
bar   one     1.764052  0.400157
baz   two     0.950088 -0.151357

明らかに、df[idxDf['first','second']]動作しません。

ジェズリール

使用DataFrame.mergeしてDataFrame.reset_indexDataFrame.set_index

print (df.reset_index().merge(idxDf, on=['first','second']).set_index(['first','second']))
                     A         B
first second                    
bar   one     1.764052  0.400157
baz   two     0.950088 -0.151357

またはDataFrame.set_index

print (df.merge(idxDf, 
                left_index=True, 
                right_on=['first','second']).set_index(['first','second']))
                     A         B
first second                    
bar   one     1.764052  0.400157
baz   two     0.950088 -0.151357

またはDataFrame.set_indexmerge

print (df.merge(idxDf.set_index(['first','second']), 
                left_index=True, 
                right_index=True))
                     A         B
first second                    
bar   one     1.764052  0.400157
baz   two     0.950088 -0.151357

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

別のデータフレームのインデックスを使用してデータフレームにインデックスを付ける方法は?

分類Dev

他のデータフレームの行と列の情報に基づいてデータフレームにインデックスを付ける

分類Dev

マルチインデックス列のデータフレームに値を追加する方法

分類Dev

行インデックスのデータフレームからデータフレームにインデックスを付ける

分類Dev

あるデータフレームの列値を別のデータフレームのインデックスにマップし、値を抽出します

分類Dev

dictのdictをpandasデータフレームに-マルチインデックス行を列に変更

分類Dev

マルチインデックス付きのデータフレームフィルター:値フィルターを指定して、最上位のインデックスレベルですべての行を返します

分類Dev

ソートパンダデータフレームのマルチ索引付けデータのインデックスと値の両方によって

分類Dev

セカンダリインデックスのリストを使用してPandasデータフレームにインデックスを付ける方法は?

分類Dev

マルチインデックスを使用したPandasデータフレームの2列の違い

分類Dev

1レベルのインデックスのみを使用したマルチインデックスデータフレームの値の設定

分類Dev

パンダの別のデータフレームの列と等しいインデックス値を持つマルチレベルインデックスデータフレームの行を選択します

分類Dev

マルチインデックスを使用してパンダデータフレームの単一行を複数行に合計する方法は?

分類Dev

マルチインデックスデータフレームの列を並べ替えて削除する方法

分類Dev

インデックスを使用してパンダのマルチインデックスデータフレームを反復処理する方法

分類Dev

列データフレームの値を使用して列インデックスを検索する

分類Dev

マルチインデックス列ヘッダーを使用してデータフレームの形状をワイドからロングに変更

分類Dev

マルチデータフレームを1つのマルチインデックスデータフレームとしてマージ

分類Dev

マルチインデックス列のデータフレームをマージする方法

分類Dev

インデックスのリストを指定して、マルチインデックスデータフレームからデータを取得します

分類Dev

マルチインデックスデータフレームのインデックス値をPythonの単純なリストとして抽出します

分類Dev

マルチインデックスパンダデータフレームの最初の10行を表示する

分類Dev

Rの関数内のデータフレーム列にインデックスを付ける方法

分類Dev

マルチインデックスデータフレームの列の最大値を見つけ、そのすべての値を返す

分類Dev

マルチインデックスパンダデータフレームのインデックスレベルに応じて小計を取得する方法

分類Dev

パンダのマルチインデックスデータフレームを、すべてのインデックスが列に含まれる単純なデータフレームに変換します

分類Dev

データフレームの値を配列インデックスとして使用する

分類Dev

マルチインデックスデータフレームでインデックスごとに最初に出現するものを見つける

分類Dev

実際のデータフレームの2つの列の値を使用して別のデータフレームにインデックスを付けることにより、実際のデータフレームに列を作成するにはどうすればよいですか。

Related 関連記事

  1. 1

    別のデータフレームのインデックスを使用してデータフレームにインデックスを付ける方法は?

  2. 2

    他のデータフレームの行と列の情報に基づいてデータフレームにインデックスを付ける

  3. 3

    マルチインデックス列のデータフレームに値を追加する方法

  4. 4

    行インデックスのデータフレームからデータフレームにインデックスを付ける

  5. 5

    あるデータフレームの列値を別のデータフレームのインデックスにマップし、値を抽出します

  6. 6

    dictのdictをpandasデータフレームに-マルチインデックス行を列に変更

  7. 7

    マルチインデックス付きのデータフレームフィルター:値フィルターを指定して、最上位のインデックスレベルですべての行を返します

  8. 8

    ソートパンダデータフレームのマルチ索引付けデータのインデックスと値の両方によって

  9. 9

    セカンダリインデックスのリストを使用してPandasデータフレームにインデックスを付ける方法は?

  10. 10

    マルチインデックスを使用したPandasデータフレームの2列の違い

  11. 11

    1レベルのインデックスのみを使用したマルチインデックスデータフレームの値の設定

  12. 12

    パンダの別のデータフレームの列と等しいインデックス値を持つマルチレベルインデックスデータフレームの行を選択します

  13. 13

    マルチインデックスを使用してパンダデータフレームの単一行を複数行に合計する方法は?

  14. 14

    マルチインデックスデータフレームの列を並べ替えて削除する方法

  15. 15

    インデックスを使用してパンダのマルチインデックスデータフレームを反復処理する方法

  16. 16

    列データフレームの値を使用して列インデックスを検索する

  17. 17

    マルチインデックス列ヘッダーを使用してデータフレームの形状をワイドからロングに変更

  18. 18

    マルチデータフレームを1つのマルチインデックスデータフレームとしてマージ

  19. 19

    マルチインデックス列のデータフレームをマージする方法

  20. 20

    インデックスのリストを指定して、マルチインデックスデータフレームからデータを取得します

  21. 21

    マルチインデックスデータフレームのインデックス値をPythonの単純なリストとして抽出します

  22. 22

    マルチインデックスパンダデータフレームの最初の10行を表示する

  23. 23

    Rの関数内のデータフレーム列にインデックスを付ける方法

  24. 24

    マルチインデックスデータフレームの列の最大値を見つけ、そのすべての値を返す

  25. 25

    マルチインデックスパンダデータフレームのインデックスレベルに応じて小計を取得する方法

  26. 26

    パンダのマルチインデックスデータフレームを、すべてのインデックスが列に含まれる単純なデータフレームに変換します

  27. 27

    データフレームの値を配列インデックスとして使用する

  28. 28

    マルチインデックスデータフレームでインデックスごとに最初に出現するものを見つける

  29. 29

    実際のデータフレームの2つの列の値を使用して別のデータフレームにインデックスを付けることにより、実際のデータフレームに列を作成するにはどうすればよいですか。

ホットタグ

アーカイブ