Pythonパンダデータフレーム:別の列の一意の値ごとに最大値を見つける

TuoCuggino

たとえば、ID、A、Bの3つの数値列を含む大きなデータフレーム(500kから1M行)があります。

次の画像のようなテーブルを取得するために結果をフィルタリングしたいと思います。ここで、列IDの一意の値ごとに、AとBの最大値と最小値があります。どうすればよいですか?

編集:より明確にするために、以下の画像を更新しました:列から最大または最小を取得するとき、他の列のそれに関連付けられたデータも取得する必要があります

ここに画像の説明を入力してください

ヨーネ

サンプルデータ(再入力しないと潜在的な回答者が使用できない画像を投稿したため、代わりに簡単な例を作成していることに注意してください):

df=pd.DataFrame({ 'id':[1,1,1,1,2,2,2,2],
                   'a':range(8), 'b':range(8,0,-1) })

これの鍵は、読みやすい方法で物事をマージできるように、インデックスを使用idxmaxしてidxminからそれをいじくり回すことです。これが全体の答えです。中間データフレームを調べて、これがどのように機能しているかを確認することをお勧めします。

df_max = df.groupby('id').idxmax()
df_max['type'] = 'max'
df_min = df.groupby('id').idxmin()
df_min['type'] = 'min'

df2 = df_max.append(df_min).set_index('type',append=True).stack().rename('index')

df3 = pd.concat([ df2.reset_index().drop('id',axis=1).set_index('index'), 
                  df.loc[df2.values] ], axis=1 )

df3.set_index(['id','level_2','type']).sort_index()

                 a  b
id level_2 type      
1  a       max   3  5
           min   0  8
   b       max   0  8
           min   3  5
2  a       max   7  1
           min   4  4
   b       max   4  4
           min   7  1

DF2ルックスがこれを気に入っていることに特に注意してください:

id  type   
1   max   a    3
          b    0
2   max   a    7
          b    4
1   min   a    0
          b    3
2   min   a    4
          b    7

最後の列は、インデックスの値が保持dfして得られたものidxmaxとしますidxminしたがって、基本的に必要なすべての情報はにありdf2ます。残りの部分は、マージしてdf読みやすくするだけです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダの一意の値ごとに1つのデータフレームを作成します

分類Dev

Python Pandas-パンダのデータフレームをフィルタリングして、別の列の一意の値ごとに1つの列に最小値を持つ行を取得します

分類Dev

複数の列を1つの列にマージし、一意の値の繰り返しをカウントし、パンダデータフレームのカウントごとに個別の列を維持するには

分類Dev

パンダのデータフレーム内の値のグループごとにn個の最大値の合計を見つける方法は?

分類Dev

同じデータフレームの別の列に一意の値を含む列値を見つける方法は?

分類Dev

非一意のIDと列の値を持つデータフレームを一意のIDごとに1つの行に変換する

分類Dev

一意の列値パンダデータフレームごとに行シリーズを追加するにはどうすればよいですか?

分類Dev

データフレームのすべての列の一意の値を見つける

分類Dev

NaNを除くすべての一意の値を含むパンダデータフレームの列名を見つける方法は?

分類Dev

パンダは1つの列の値を別のデータフレームの列と比較し、一致する行を見つけます

分類Dev

1つの列の最大値を(グループごとに)見つけて、Rの別のデータフレームに値を挿入します

分類Dev

列ごとの一意の値に基づいてパンダのデータフレームを切り取ります

分類Dev

同じパンダデータフレーム内の別の列の一意の文字列値に1000、1000 +1を割り当てる方法

分類Dev

一意の値ごとに1つのレコードをサンプリングする(パンダ、Python)

分類Dev

データフレームを転置して、既存の列の一意の値ごとに個別の列を作成するパンダ関数はありますか?

分類Dev

別の列のすべての一意の値に基づく列の最大値(データフレーム)

分類Dev

リストのパンダデータフレーム列で最大値を見つける

分類Dev

pandasデータフレームのIDでグループ化されたすべての列の一意の値ごとに最小値を見つける方法

分類Dev

1つの特定の列またはファタフレーム内の一意の値ごとにランダムな行を選択します

分類Dev

パンダデータフレームのすべての列で一意の値を取得する方法

分類Dev

Pythonでデータフレームの行ごとに値のインデックスを見つけ、次の列の値を抽出する方法

分類Dev

特定の列のパンダデータフレーム内の他の値の間の値を見つける

分類Dev

Python:ネストされたリストの一意の値に基づいて列を持つパンダデータフレームを作成します

分類Dev

パンダデータフレームの2つの列の一意の値

分類Dev

パンダ:別の列の一意の値ごとに、列から最大の値を取得します

分類Dev

Rのデータフレーム内の個々のIDごとに一意の値を保持する

分類Dev

一意でない列を使用して、合計値を持つパンダのGroupbyデータフレームを別のデータフレームにマップする方法

分類Dev

一意の用語と日付ごとの行を含むパンダデータフレームを、日付ごとに1行、一意の用語とその値を列として含むdfに変換するにはどうすればよいですか?

分類Dev

rのカテゴリごとにデータフレームで最大値を見つける

Related 関連記事

  1. 1

    パンダの一意の値ごとに1つのデータフレームを作成します

  2. 2

    Python Pandas-パンダのデータフレームをフィルタリングして、別の列の一意の値ごとに1つの列に最小値を持つ行を取得します

  3. 3

    複数の列を1つの列にマージし、一意の値の繰り返しをカウントし、パンダデータフレームのカウントごとに個別の列を維持するには

  4. 4

    パンダのデータフレーム内の値のグループごとにn個の最大値の合計を見つける方法は?

  5. 5

    同じデータフレームの別の列に一意の値を含む列値を見つける方法は?

  6. 6

    非一意のIDと列の値を持つデータフレームを一意のIDごとに1つの行に変換する

  7. 7

    一意の列値パンダデータフレームごとに行シリーズを追加するにはどうすればよいですか?

  8. 8

    データフレームのすべての列の一意の値を見つける

  9. 9

    NaNを除くすべての一意の値を含むパンダデータフレームの列名を見つける方法は?

  10. 10

    パンダは1つの列の値を別のデータフレームの列と比較し、一致する行を見つけます

  11. 11

    1つの列の最大値を(グループごとに)見つけて、Rの別のデータフレームに値を挿入します

  12. 12

    列ごとの一意の値に基づいてパンダのデータフレームを切り取ります

  13. 13

    同じパンダデータフレーム内の別の列の一意の文字列値に1000、1000 +1を割り当てる方法

  14. 14

    一意の値ごとに1つのレコードをサンプリングする(パンダ、Python)

  15. 15

    データフレームを転置して、既存の列の一意の値ごとに個別の列を作成するパンダ関数はありますか?

  16. 16

    別の列のすべての一意の値に基づく列の最大値(データフレーム)

  17. 17

    リストのパンダデータフレーム列で最大値を見つける

  18. 18

    pandasデータフレームのIDでグループ化されたすべての列の一意の値ごとに最小値を見つける方法

  19. 19

    1つの特定の列またはファタフレーム内の一意の値ごとにランダムな行を選択します

  20. 20

    パンダデータフレームのすべての列で一意の値を取得する方法

  21. 21

    Pythonでデータフレームの行ごとに値のインデックスを見つけ、次の列の値を抽出する方法

  22. 22

    特定の列のパンダデータフレーム内の他の値の間の値を見つける

  23. 23

    Python:ネストされたリストの一意の値に基づいて列を持つパンダデータフレームを作成します

  24. 24

    パンダデータフレームの2つの列の一意の値

  25. 25

    パンダ:別の列の一意の値ごとに、列から最大の値を取得します

  26. 26

    Rのデータフレーム内の個々のIDごとに一意の値を保持する

  27. 27

    一意でない列を使用して、合計値を持つパンダのGroupbyデータフレームを別のデータフレームにマップする方法

  28. 28

    一意の用語と日付ごとの行を含むパンダデータフレームを、日付ごとに1行、一意の用語とその値を列として含むdfに変換するにはどうすればよいですか?

  29. 29

    rのカテゴリごとにデータフレームで最大値を見つける

ホットタグ

アーカイブ