Python Pandas-各値が新しい列になる2つの値を持つピボットテーブルをアンスタックする方法は?

JAB

以下のような2つの値でデータフレームをピボットした後:

import pandas as pd

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                       'foo', 'bar', 'foo', 'bar'],
            'B' : ['one', 'one', 'two', 'two',
                      'two', 'two', 'one', 'two'],
            'C' : [56, 2, 3, 4, 5, 6, 0, 2],
            'D' : [51, 2, 3, 4, 5, 6, 0, 2]})

pd.pivot_table(df, values=['C','D'],rows='B',cols='A').unstack().reset_index()

ピボットをアンスタックしてインデックスをリセットすると、2つの新しい列「level_0」と0が作成されます。Level_0には列名CとDが含まれ、0には値が含まれます。

    level_0     A   B   0
0   C   bar     one     2.0
1   C   bar     two     4.0
2   C   foo     one     28.0
3   C   foo     two     4.0
4   D   bar     one     2.0
5   D   bar     two     4.0
6   D   foo     one     25.5
7   D   foo     two     4.0

各値(C、D)が別々の列に表示されるようにフレームをアンスタックすることは可能ですか、それともこれを実現するためにフレームを分割して連結する必要がありますか?ありがとう。

目的の出力を表示するように編集:

    A   B   C   D
0   bar one 2   2
1   bar two 4   4
2   foo one 28  25.5
3   foo two 4   4
ヨリス

あなたがしたいstack(そしてアンスタックしたくない):

In [70]: pd.pivot_table(df, values=['C','D'],rows='B',cols='A').stack()
Out[70]: 
          C     D
B   A            
one bar   2   2.0
    foo  28  25.5
two bar   4   4.0
    foo   4   4.0

けれどもunstack、あなたが使用します(のみ列軸での)インデックス軸に何のマルチインデックスがなかったので、「スタック」操作をしました。

しかし実際には、groupby-operationを使用してそこに到達することもできます(そして私はもっと論理的だと思います)。これは実際に行うことです(列CとDをAとBでグループ化します)。

In [72]: df.groupby(['A', 'B']).mean()
Out[72]: 
          C     D
A   B            
bar one   2   2.0
    two   4   4.0
foo one  28  25.5
    two   4   4.0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Python Pandas-多くの列を持つデータセット-各列を反復処理し、null以外のフィールドからのみ新しいリストに行の値を追加したい

分類Dev

Python Pandas:インデックスと列の名前および対応する値が新しい行の値になる形式を変更します

分類Dev

(Python / Pandas)値の並べ替え中にテーブルをピボットする

分類Dev

python / pandas / numpyを使用してSQLテーブルを行から列にピボットする方法

分類Dev

Python Pandasは、データを結合または整形して、値が繰り返される2つの新しい列を追加します

分類Dev

Python Pandas:データフレームの特定の列にある2つの連続していない行の値を互いに減算する方法

分類Dev

pandas pythonで、列とインデックスがまったく同じで値が異なるデータフレームのリストの共通部分を見つける方法は?

分類Dev

openpyxl / pandasまたはその他のpythonを使用して、いくつかのExcelシートから抽出した文字列データを新しいワークブックに保存するにはどうすればよいですか?

分類Dev

Pythonで、各アイテムが異なる個別のキー値ペアを持つオブジェクト/ディクテーションのリストで最小のキー値ペアを取得するにはどうすればよいですか?

分類Dev

列をタイトルにピボットする方法は?-python pandasデータフレーム

分類Dev

Python Pandas:ペアマッピングのリストを行ベクトル形式に変換する方法は?

分類Dev

同じ図に異なるxデータポイントを持つ2つの曲線をプロットする(Python、Pandas)

分類Dev

Pandasを使用してPythonで異なる列を1つのテーブルに結合する方法

分類Dev

Python(Pandas / Numpy)の場合。2つの独立した系列から最大/最小値を持つ列を作成するにはどうすればよいですか?

分類Dev

(Python / Pandas)条件に基づいてピボットされたデータフレームの2つの列を分割します

分類Dev

ロジックが行の順序に依存するPython / Pandasで2つのインジケーター列を組み合わせる方法

分類Dev

Python Pandasは、ディクトマッピングを使用してデータフレームの各列にフォーマットを適用します

分類Dev

Python pandasデータフレームで2つの列を比較し、2つの一致するすべてのアイテムの3番目の列の平均値を取得する方法は?

分類Dev

Python Pandas to_sql、主キーを持つテーブルを作成する方法は?

分類Dev

列見出しにピボットされた列エントリと空白のエントリ用の新しい列を持つPythonパンダを使用してピボットテーブルを作成するにはどうすればよいですか?

分類Dev

Python Pandasは、列内の文字列値を参照するインデックス値を選択します

分類Dev

値がリストであるPythonシリーズは、各アイテムリストに対応するインデックスのリストを持つ別のシリーズを取得します

分類Dev

Python Pandas: 文字列、数値、および NaN 値を持つ 3 つのデータフレームを、共通の列を使用して新しいデータフレームにグループ化します

分類Dev

Python pandasデータフレームの[]括弧内の指定された文字列を抽出し、ブール値を使用して新しい列を作成する方法

分類Dev

Pythonを使用してPandasシリーズをJSONのオブジェクトにマッピングする方法

分類Dev

Python Pandasは、集計なしで重複する値を含む複数の文字列列をピボットします

分類Dev

Pandasデータフレームの1つの列にある2つの繰り返し値の間のセル内(インデックスなど)の距離をカウントするにはどうすればよいですか?

分類Dev

Python Pandas:値をインデックスとして使用してピボットまたはグループ化をやり直します

分類Dev

Python / Pandas-インデックス以外の列に基づいて2つのデータフレームをマージする

Related 関連記事

  1. 1

    Python Pandas-多くの列を持つデータセット-各列を反復処理し、null以外のフィールドからのみ新しいリストに行の値を追加したい

  2. 2

    Python Pandas:インデックスと列の名前および対応する値が新しい行の値になる形式を変更します

  3. 3

    (Python / Pandas)値の並べ替え中にテーブルをピボットする

  4. 4

    python / pandas / numpyを使用してSQLテーブルを行から列にピボットする方法

  5. 5

    Python Pandasは、データを結合または整形して、値が繰り返される2つの新しい列を追加します

  6. 6

    Python Pandas:データフレームの特定の列にある2つの連続していない行の値を互いに減算する方法

  7. 7

    pandas pythonで、列とインデックスがまったく同じで値が異なるデータフレームのリストの共通部分を見つける方法は?

  8. 8

    openpyxl / pandasまたはその他のpythonを使用して、いくつかのExcelシートから抽出した文字列データを新しいワークブックに保存するにはどうすればよいですか?

  9. 9

    Pythonで、各アイテムが異なる個別のキー値ペアを持つオブジェクト/ディクテーションのリストで最小のキー値ペアを取得するにはどうすればよいですか?

  10. 10

    列をタイトルにピボットする方法は?-python pandasデータフレーム

  11. 11

    Python Pandas:ペアマッピングのリストを行ベクトル形式に変換する方法は?

  12. 12

    同じ図に異なるxデータポイントを持つ2つの曲線をプロットする(Python、Pandas)

  13. 13

    Pandasを使用してPythonで異なる列を1つのテーブルに結合する方法

  14. 14

    Python(Pandas / Numpy)の場合。2つの独立した系列から最大/最小値を持つ列を作成するにはどうすればよいですか?

  15. 15

    (Python / Pandas)条件に基づいてピボットされたデータフレームの2つの列を分割します

  16. 16

    ロジックが行の順序に依存するPython / Pandasで2つのインジケーター列を組み合わせる方法

  17. 17

    Python Pandasは、ディクトマッピングを使用してデータフレームの各列にフォーマットを適用します

  18. 18

    Python pandasデータフレームで2つの列を比較し、2つの一致するすべてのアイテムの3番目の列の平均値を取得する方法は?

  19. 19

    Python Pandas to_sql、主キーを持つテーブルを作成する方法は?

  20. 20

    列見出しにピボットされた列エントリと空白のエントリ用の新しい列を持つPythonパンダを使用してピボットテーブルを作成するにはどうすればよいですか?

  21. 21

    Python Pandasは、列内の文字列値を参照するインデックス値を選択します

  22. 22

    値がリストであるPythonシリーズは、各アイテムリストに対応するインデックスのリストを持つ別のシリーズを取得します

  23. 23

    Python Pandas: 文字列、数値、および NaN 値を持つ 3 つのデータフレームを、共通の列を使用して新しいデータフレームにグループ化します

  24. 24

    Python pandasデータフレームの[]括弧内の指定された文字列を抽出し、ブール値を使用して新しい列を作成する方法

  25. 25

    Pythonを使用してPandasシリーズをJSONのオブジェクトにマッピングする方法

  26. 26

    Python Pandasは、集計なしで重複する値を含む複数の文字列列をピボットします

  27. 27

    Pandasデータフレームの1つの列にある2つの繰り返し値の間のセル内(インデックスなど)の距離をカウントするにはどうすればよいですか?

  28. 28

    Python Pandas:値をインデックスとして使用してピボットまたはグループ化をやり直します

  29. 29

    Python / Pandas-インデックス以外の列に基づいて2つのデータフレームをマージする

ホットタグ

アーカイブ