パンダデータフレームの各グループの上位n%行のみを保持するにはどうすればよいですか?

キャメルケース

パンダのデータフレームに各グループの上位n行を保持し、ソリューションではパーセンテージではなく絶対数としてnを使用するというこの質問の変形を確認しました。ここでは、パンダは各グループ内で最上位のnレコードを取得しますただし、私のデータフレームでは、各グループの行数が異なるため、各グループの上位n%の行を保持したいと思います。この問題にどのようにアプローチしますか?

jpp

ブール型の一連のフラグを作成し、前にフィルタリングすることができますgroupbyまず、サンプルデータフレームを作成し、最初のシリーズの一意の値ごとに行数を確認しましょう。

np.random.seed(0)
df = pd.DataFrame(np.random.randint(0, 2, (10, 3)))

print(df[0].value_counts())

0    6
1    4
Name: 0, dtype: int64

次に、分数を定義します。たとえば、50%以下で、フィルタリング用のブール系列を作成します。

n = 0.5

g = df.groupby(0)
flags = (g.cumcount() + 1) <= g[1].transform('size') * n

次に、条件を適用し、インデックスを最初の系列として設定し、(必要に応じて)インデックスを並べ替えます。

df = df.loc[flags].set_index(0).sort_index()

print(df)

   1  2
0      
0  1  1
0  1  1
0  1  0
1  1  1
1  1  0

ご覧のとおり、結果のデータフレームには3つの0インデックスと2つのインデックスしかなく1、いずれの場合も元のデータフレームの半分の数です。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダのデータフレームに各グループの上位3行を保持するにはどうすればよいですか?

分類Dev

パンダのデータフレームに各グループの上位[2-31]行を保持するにはどうすればよいですか?

分類Dev

パンダのデータフレームの値を各グループの最初の行で割るにはどうすればよいですか?

分類Dev

パンダのデータフレームのサブグループで操作を実行するにはどうすればよいですか?

分類Dev

2つのパンダデータフレームから各セルのタプルを作成するにはどうすればよいですか?

分類Dev

グループごとに計算を行ってパンダのデータフレームを更新するにはどうすればよいですか?

分類Dev

パンダのデータフレームをフィルタリングし、他の列や他の条件に基づいて行のみを保持するにはどうすればよいですか?

分類Dev

Pythonでパンダデータフレームの各エントリ(タプル)を丸めるにはどうすればよいですか?

分類Dev

行の位置でパンダのデータフレームをフィルタリングするにはどうすればよいですか?

分類Dev

パンダの行を別のデータフレーム列でフィルタリングするにはどうすればよいですか?

分類Dev

データフレーム内の各グループに対してforループを実行するにはどうすればよいですか?

分類Dev

パンダのデータフレームをピークのグループに分割するにはどうすればよいですか?

分類Dev

グループ化されたパンダのデータフレームにタイトルを追加するにはどうすればよいですか?

分類Dev

各グループの多重指数データフレームの最初の行を削除するにはどうすればよいですか?

分類Dev

パンダのデータフレームで重複に近い値をグループ化するにはどうすればよいですか?

分類Dev

パンダのデータフレームをループして新しい行を生成するにはどうすればよいですか?

分類Dev

パンダでグループ化した後、各グループから上位n行を選択するにはどうすればよいですか?

分類Dev

jinja2でパンダデータフレームの行と列をループするにはどうすればよいですか?

分類Dev

パンダの列の特定の単語リストの後に行を保持するデータフレームをフィルタリングするにはどうすればよいですか?

分類Dev

異なるレートでパンダのデータフレームから各グループをサンプリングするにはどうすればよいですか

分類Dev

パンダデータフレームのフィルタリングされた行の平均を計算し、元のデータフレームのすべての列に平均を追加するにはどうすればよいですか?

分類Dev

パンダのデータフレームにリサンプリングの特定の条件を設定するにはどうすればよいですか?

分類Dev

パンダデータフレームの選択した行と列にのみ関数を適用するにはどうすればよいですか?

分類Dev

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

分類Dev

パンダのデータフレームからのみ列ラベルを抽出するにはどうすればよいですか?

分類Dev

パンダのデータフレームで不均衡なパネルのラグ変数を生成するにはどうすればよいですか?

分類Dev

パンダのデータフレームをフィルタリングして特定の値を含めるにはどうすればよいですか?

分類Dev

パンダでforループの反復内に複数のデータフレームを作成するにはどうすればよいですか?

分類Dev

パンダのデータフレームをループして、条件の下で値を変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    パンダのデータフレームに各グループの上位3行を保持するにはどうすればよいですか?

  2. 2

    パンダのデータフレームに各グループの上位[2-31]行を保持するにはどうすればよいですか?

  3. 3

    パンダのデータフレームの値を各グループの最初の行で割るにはどうすればよいですか?

  4. 4

    パンダのデータフレームのサブグループで操作を実行するにはどうすればよいですか?

  5. 5

    2つのパンダデータフレームから各セルのタプルを作成するにはどうすればよいですか?

  6. 6

    グループごとに計算を行ってパンダのデータフレームを更新するにはどうすればよいですか?

  7. 7

    パンダのデータフレームをフィルタリングし、他の列や他の条件に基づいて行のみを保持するにはどうすればよいですか?

  8. 8

    Pythonでパンダデータフレームの各エントリ(タプル)を丸めるにはどうすればよいですか?

  9. 9

    行の位置でパンダのデータフレームをフィルタリングするにはどうすればよいですか?

  10. 10

    パンダの行を別のデータフレーム列でフィルタリングするにはどうすればよいですか?

  11. 11

    データフレーム内の各グループに対してforループを実行するにはどうすればよいですか?

  12. 12

    パンダのデータフレームをピークのグループに分割するにはどうすればよいですか?

  13. 13

    グループ化されたパンダのデータフレームにタイトルを追加するにはどうすればよいですか?

  14. 14

    各グループの多重指数データフレームの最初の行を削除するにはどうすればよいですか?

  15. 15

    パンダのデータフレームで重複に近い値をグループ化するにはどうすればよいですか?

  16. 16

    パンダのデータフレームをループして新しい行を生成するにはどうすればよいですか?

  17. 17

    パンダでグループ化した後、各グループから上位n行を選択するにはどうすればよいですか?

  18. 18

    jinja2でパンダデータフレームの行と列をループするにはどうすればよいですか?

  19. 19

    パンダの列の特定の単語リストの後に行を保持するデータフレームをフィルタリングするにはどうすればよいですか?

  20. 20

    異なるレートでパンダのデータフレームから各グループをサンプリングするにはどうすればよいですか

  21. 21

    パンダデータフレームのフィルタリングされた行の平均を計算し、元のデータフレームのすべての列に平均を追加するにはどうすればよいですか?

  22. 22

    パンダのデータフレームにリサンプリングの特定の条件を設定するにはどうすればよいですか?

  23. 23

    パンダデータフレームの選択した行と列にのみ関数を適用するにはどうすればよいですか?

  24. 24

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

  25. 25

    パンダのデータフレームからのみ列ラベルを抽出するにはどうすればよいですか?

  26. 26

    パンダのデータフレームで不均衡なパネルのラグ変数を生成するにはどうすればよいですか?

  27. 27

    パンダのデータフレームをフィルタリングして特定の値を含めるにはどうすればよいですか?

  28. 28

    パンダでforループの反復内に複数のデータフレームを作成するにはどうすればよいですか?

  29. 29

    パンダのデータフレームをループして、条件の下で値を変更するにはどうすればよいですか?

ホットタグ

アーカイブ