マルチインデックスで2つのデータフレームを追加する

ジミー

2つのデータフレームがあり、それぞれに多重指数があります。マルチインデックスレベルは名前を共有しますが、順序が異なります。追加または連結する場合、パンダは、追加する前にインデックスのない列を整列するのと同じように、インデックスを整列することを期待します。これを私が望む方法で機能させるために追加または連結するために渡すことができる関数または引数はありますか(そして私はそれが標準であるべきだと思います)?

import pandas as pd

df1 = pd.DataFrame(data = {'Name':['Bob','Ann','Sally'], 'Acct':['Savings','Savings','Checking'], 'Value':[101,102,103]})
df1 = df1.set_index(['Name','Acct'])
print(df1)

df2 = pd.DataFrame(data = {'Acct':['Savings','Savings','Checking'], 'Name':['Bob','Ann','Sally'], 'Value':[201,202,203]})
df2 = df2.set_index(['Acct','Name'])
print(df2)

print(df1.append(df2))
print(pd.concat([df1,df2]))


               Value
Name  Acct
Bob   Savings     101
Ann   Savings     102
Sally Checking    103

                Value
Acct     Name
Savings  Bob      201
         Ann      202
Checking Sally    203

                   Value
Name     Acct
Bob      Savings     101
Ann      Savings     102
Sally    Checking    103
Savings  Bob         201
         Ann         202
Checking Sally       203

                   Value
Name     Acct
Bob      Savings     101
Ann      Savings     102
Sally    Checking    103
Savings  Bob         201
         Ann         202
Checking Sally       203

ご覧のとおり、追加または連結した後、結合されたインデックスは、たとえば、「Sally」が名前ではなくアカウントであることを示しているように見えます。インデックスを設定するときにインデックスレベルを同じ順序にすると、必要なものが得られ、フレームのインデックスをリセットして位置合わせできることはわかっていますが、もっと直感的になることを望んでいます。インデックスを位置ではなく名前に揃える方法。

イアン・トンプソン

やや作業の周りの、することができますreset_index両方のデータセットに、concat彼ら、そしてset_index

print(pd.concat([
    df1.reset_index(),
    df2.reset_index()
], sort=False).set_index([
    'Name',
    'Acct'
]))

                Value
Name  Acct           
Bob   Savings     101
Ann   Savings     102
Sally Checking    103
Bob   Savings     201
Ann   Savings     202
Sally Checking    203

同じインデックスを持つ複数の行が必要な理由はわかりませんが...

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

2つのデータフレームをマルチインデックスでマージする

分類Dev

マルチレベルインデックスの1つのレベルでパンダデータフレームをフィルタリングする

分類Dev

マルチインデックスデータフレームの最初の2つのインデックスの辞書を取得する方法

分類Dev

PythonPandas-2つのマルチインデックスデータフレームの追加/連結の問題

分類Dev

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

分類Dev

両方のインデックスに基づいて2つのマルチインデックスデータフレームを減算する

分類Dev

2つのマルチインデックスデータフレームでfillnaを使用すると、InvalidIndexErrorがスローされます

分類Dev

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

分類Dev

パンダでは、2つのデータフレームを複雑なマルチインデックスでマージします

分類Dev

マルチインデックスデータフレームで特定の数の行を取得する

分類Dev

インデックスで2つのデータフレームをマージする

分類Dev

列とインデックスで 2 つのデータフレームをマージする

分類Dev

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

分類Dev

パンダ:マルチインデックスデータフレームに列を追加する方法は?

分類Dev

マルチインデックスデータフレームでデータを分割する方法

分類Dev

マルチインデックスのパンダデータフレームの1つのエントリを別のエントリで分割する方法

分類Dev

パンダのマルチインデックスデータフレームをすべてのインデックスでグループ化する

分類Dev

パンダマルチインデックスの第2レベルでデータフレームのサブセットを選択する

分類Dev

マルチインデックスデータフレームPythonでインデックスを追加/削除する方法

分類Dev

パンダ:インデックスごとにマルチインデックスデータフレームの上にシングルインデックスデータフレームを追加する

分類Dev

pandasデータフレームで階層マルチレベルインデックスを取得する

分類Dev

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

分類Dev

データフレームのインデックス(マルチレベル)を抽出する方法

分類Dev

他の2つのデータフレームのインデックスに基づいて2つのデータフレームをマージする

分類Dev

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

分類Dev

パンダの既存のデータフレームのマルチインデックスを設定する

分類Dev

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

分類Dev

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

分類Dev

パンダは2つのデータフレームをマージしてマルチインデックスを形成します

Related 関連記事

  1. 1

    2つのデータフレームをマルチインデックスでマージする

  2. 2

    マルチレベルインデックスの1つのレベルでパンダデータフレームをフィルタリングする

  3. 3

    マルチインデックスデータフレームの最初の2つのインデックスの辞書を取得する方法

  4. 4

    PythonPandas-2つのマルチインデックスデータフレームの追加/連結の問題

  5. 5

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

  6. 6

    両方のインデックスに基づいて2つのマルチインデックスデータフレームを減算する

  7. 7

    2つのマルチインデックスデータフレームでfillnaを使用すると、InvalidIndexErrorがスローされます

  8. 8

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

  9. 9

    パンダでは、2つのデータフレームを複雑なマルチインデックスでマージします

  10. 10

    マルチインデックスデータフレームで特定の数の行を取得する

  11. 11

    インデックスで2つのデータフレームをマージする

  12. 12

    列とインデックスで 2 つのデータフレームをマージする

  13. 13

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

  14. 14

    パンダ:マルチインデックスデータフレームに列を追加する方法は?

  15. 15

    マルチインデックスデータフレームでデータを分割する方法

  16. 16

    マルチインデックスのパンダデータフレームの1つのエントリを別のエントリで分割する方法

  17. 17

    パンダのマルチインデックスデータフレームをすべてのインデックスでグループ化する

  18. 18

    パンダマルチインデックスの第2レベルでデータフレームのサブセットを選択する

  19. 19

    マルチインデックスデータフレームPythonでインデックスを追加/削除する方法

  20. 20

    パンダ:インデックスごとにマルチインデックスデータフレームの上にシングルインデックスデータフレームを追加する

  21. 21

    pandasデータフレームで階層マルチレベルインデックスを取得する

  22. 22

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

  23. 23

    データフレームのインデックス(マルチレベル)を抽出する方法

  24. 24

    他の2つのデータフレームのインデックスに基づいて2つのデータフレームをマージする

  25. 25

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

  26. 26

    パンダの既存のデータフレームのマルチインデックスを設定する

  27. 27

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

  28. 28

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

  29. 29

    パンダは2つのデータフレームをマージしてマルチインデックスを形成します

ホットタグ

アーカイブ