パンダ:データフレームを溶かして任意の数の列を追加しますか?

リチャード

私はdfパンダに次のようなデータフレームを持っています:

stores           product           discount
Westminster      102141            T
Westminster      102142            F
City of London   102141            T
City of London   102142            F
City of London   102143            T

そして、私は次のようなデータセットになりたいと思います:

stores           product_1  discount_1 product_2  discount_2 product_3  discount_3
Westminster      102141     T          102143     F       
City of London   102141     T          102143     F          102143     T

パンダでこれを行うにはどうすればよいですか?

これはstoresコラムのある種のピボットだと思いますが、複数あります。それとも、それは「ピボット」ではなく「アンメルト」ですか?

私は試した:

df.pivot("stores", ["product", "discount"], ["product", "discount"])

しかし、私は得TypeError: MultiIndex.name must be a hashable typeます。

ジェズリール

形状変更に使用DataFrame.unstackします。必要なのは、カウンターの作成GroupBy.cumcount、第2レベルの最後の変更順序、および列のMultiIndexのフラット化ですmap

df = (df.set_index(['stores', df.groupby('stores').cumcount().add(1)])
        .unstack()
        .sort_index(axis=1, level=1))
df.columns = df.columns.map('{0[0]}_{0[1]}'.format)
df = df.reset_index()
print (df)
           stores discount_1  product_1 discount_2  product_2 discount_3  \
0  City of London          T   102141.0          F   102142.0          T   
1     Westminster          T   102141.0          F   102142.0        NaN   

   product_3  
0   102143.0  
1        NaN  

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダ:100以上の変数を100以上の新しいデータフレームに溶かします

分類Dev

辞書の値も溶けるように、辞書の列を含むパンダのデータフレームを溶かします

分類Dev

パンダのデータフレームを溶かす

分類Dev

パンダは複数の列を溶かしてデータセットを表にします

分類Dev

パンダの異なるデータフレームから列を追加して列を作成します

分類Dev

パンダは日時の観点からデータフレームを溶かし、すべての値を埋めますNaN

分類Dev

あるデータフレームから列名を取得し、パンダの別のデータフレームに空の列として追加します

分類Dev

列の不均一なデータを溶かし、パンダを使用してNaNを無視します

分類Dev

パンダで2つのデータフレームを溶かす方法

分類Dev

パンダのデータフレームを比較し、列を追加します

分類Dev

別のデータフレームの文字列一致からの平均値の列をパンダデータフレームに追加します

分類Dev

適用してパンダデータフレームの他の列の列値を見つけますか?

分類Dev

列を追加してパンダのデータフレームを作成する

分類Dev

forループを使用して複数のパンダデータフレームを追加しますが、空のデータフレームを返します

分類Dev

パンダを使用してデータフレームから複数の列を削除する方法は?

分類Dev

パンダのデータフレームの別の列の値に基づいて列を追加します

分類Dev

パンダデータフレームからすべての行を追加します

分類Dev

パンダのデータフレームから列の一部のみを溶かさない

分類Dev

一意のIDを持つデータフレームから列を溶かします

分類Dev

別の列を追加して、パンダのデータフレームで重複を注文します

分類Dev

パンダ。2列のデータフレーム。交差行列を取得します(列#1からすべてに)

分類Dev

パンダ:データフレームをピボットし、追加の非数値列を保持します

分類Dev

パンダのデータフレームから列のリスト以外をすべて選択します

分類Dev

パンダデータフレームの1列を除くすべてを削除しますか?

分類Dev

データフレームパンダのすべての列で値が数値であるかどうかを検出し、それを消去します

分類Dev

パンダのデータフレームを列に追加します

分類Dev

パンダの特定の列を合計して、複数のデータフレームを結合します

分類Dev

リスト内包表記(パンダ)を使用して、データフレームのリストからデータフレームの列を削除します

分類Dev

パンダの1つのデータフレームからmuliheaderデータフレームに列を追加します

Related 関連記事

  1. 1

    パンダ:100以上の変数を100以上の新しいデータフレームに溶かします

  2. 2

    辞書の値も溶けるように、辞書の列を含むパンダのデータフレームを溶かします

  3. 3

    パンダのデータフレームを溶かす

  4. 4

    パンダは複数の列を溶かしてデータセットを表にします

  5. 5

    パンダの異なるデータフレームから列を追加して列を作成します

  6. 6

    パンダは日時の観点からデータフレームを溶かし、すべての値を埋めますNaN

  7. 7

    あるデータフレームから列名を取得し、パンダの別のデータフレームに空の列として追加します

  8. 8

    列の不均一なデータを溶かし、パンダを使用してNaNを無視します

  9. 9

    パンダで2つのデータフレームを溶かす方法

  10. 10

    パンダのデータフレームを比較し、列を追加します

  11. 11

    別のデータフレームの文字列一致からの平均値の列をパンダデータフレームに追加します

  12. 12

    適用してパンダデータフレームの他の列の列値を見つけますか?

  13. 13

    列を追加してパンダのデータフレームを作成する

  14. 14

    forループを使用して複数のパンダデータフレームを追加しますが、空のデータフレームを返します

  15. 15

    パンダを使用してデータフレームから複数の列を削除する方法は?

  16. 16

    パンダのデータフレームの別の列の値に基づいて列を追加します

  17. 17

    パンダデータフレームからすべての行を追加します

  18. 18

    パンダのデータフレームから列の一部のみを溶かさない

  19. 19

    一意のIDを持つデータフレームから列を溶かします

  20. 20

    別の列を追加して、パンダのデータフレームで重複を注文します

  21. 21

    パンダ。2列のデータフレーム。交差行列を取得します(列#1からすべてに)

  22. 22

    パンダ:データフレームをピボットし、追加の非数値列を保持します

  23. 23

    パンダのデータフレームから列のリスト以外をすべて選択します

  24. 24

    パンダデータフレームの1列を除くすべてを削除しますか?

  25. 25

    データフレームパンダのすべての列で値が数値であるかどうかを検出し、それを消去します

  26. 26

    パンダのデータフレームを列に追加します

  27. 27

    パンダの特定の列を合計して、複数のデータフレームを結合します

  28. 28

    リスト内包表記(パンダ)を使用して、データフレームのリストからデータフレームの列を削除します

  29. 29

    パンダの1つのデータフレームからmuliheaderデータフレームに列を追加します

ホットタグ

アーカイブ