パンダ-分位数を使用してグラフの値を取得します

8ビットボルヘス

私はこれを持っていますdf_players

 #   Column          Non-Null Count  Dtype  
---  ------          --------------  -----  
 0   TableIndex      739 non-null    object 
 1   PlayerID        739 non-null    int64  
 2   GameWeek        739 non-null    int64  
 3   Date            739 non-null    object 
 4   Points          739 non-null    int64  
 5   Price           739 non-null    float64
 6   BPS             739 non-null    int64  
 7   SelectedBy      739 non-null    int64  
 8   NetTransfersIn  739 non-null    int64  
 9   MinutesPlayed   739 non-null    float64
 10  CleanSheet      739 non-null    float64
 11  Saves           739 non-null    float64
 12  PlayersBasicID  739 non-null    int64  
 13  PlayerCode      739 non-null    object 
 14  FirstName       739 non-null    object 
 15  WebName         739 non-null    object 
 16  Team            739 non-null    object 
 17  Position        739 non-null    object 
 18  CommentName     739 non-null    object 

そして、私はこの関数をquantile()(変数 'c​​ut'によって渡された値)とともに使用して、プレーヤーの分布をプロットしています。

def jointplot(X, Y, week=None, title=None,
              positions=None, height=6,
              xlim=None, ylim=None, cut=0.015,
              color=CB91_Blue, levels=30, bw=0.5, top_rows=100000):

    if positions == None:
        positions = ['GKP','DEF','MID','FWD']

    #Check if week is given as a list
    if week == None:
        week = list(range(max(df_players['GameWeek'])))

    if type(week)!=list:
        week = [week]

    df_played = df_players.loc[(df_players['MinutesPlayed']>=45)
                              &(df_players['GameWeek'].isin(week))
                              &(df_players['Position'].isin(positions))].head(top_rows)   

    if xlim == None:
        xlim = (df_played[X].quantile(cut),
                df_played[X].quantile(1-cut))

    if ylim == None:
        ylim = (df_played[Y].quantile(cut),
                df_played[Y].quantile(1-cut))

    sns.jointplot(X, Y, data=df_played,
                  kind="kde", xlim=xlim, ylim=ylim,
                  color=color, n_levels=levels,
                  height=height, bw=bw);

    plt.suptitle(title,fontsize=18);
    plt.show()

コール:

jointplot('Price', 'Points', positions=['FWD'],
          color=color_list[3], title='Forwards')

このプロット:

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

どこ:

xlim = (4.5, 11.892999999999995)
ylim = (1.0, 13.0)

私に関する限り、これらのxおよびy制限により、変位値の範囲を使用して、データ(cut),(1-cut)ポイントの領域にズームインできます。


質問

ここで、次のように、特定のエリア内のプレーヤーのプレーヤー「WebName」を取得したいと思います。

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

プロット後、上のターゲット領域を選択して範囲を定義できます。大まかに言って、xlimとylimを渡します。

jointplot('Price', 'Points', positions=['FWD'], 
          xlim=(5.5, 7.0), ylim=(11.5, 13.0),
          color=color_list[3], title='Forwards')

上の赤​​い領域を拡大します。

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


しかし、どうすればそのエリア内のプレイヤー名を取得できますか?

マイケル・デルガード

プロットの境界に基づいて、プレーヤーのデータフレームの一部を選択するだけです。

selected = df_players[
    (df_players.Points >= points_lbound)
    & (df_players.Points <= points_ubound)
    & (df_players.Price >= price_lbound)
    & (df_players.Price <= price_ubound)
]

WebNameのリストは次のようになります selected.WebNames

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

別の列の値に基づいて、パンダのデータフレームを分位数でフィルタリングします

分類Dev

パンダの新しい列として分位数を追加します

分類Dev

パンダは、四分位数を使用してGroupby2列の行を削除します

分類Dev

パンダ:大なり記号と小なり記号を使用して、分位数の新しいDF値にどのように割り当てますか?

分類Dev

パンダ:列値のランダムサンプリングを使用してNaNを置き換えます

分類Dev

purrrを使用して、リスト内の対応する行列エントリの分位数を取得します

分類Dev

リサンプルまたはgroupbyを使用して時系列のパーセンタイル/分位数を計算します-パンダ

分類Dev

パンダ:groupby計算を使用してフラグを追加します

分類Dev

2つのグラフをレンダリングし、Angularjsディレクティブを使用してグラフを分離します

分類Dev

値のグループごとの分位数に基づいてデータフレームをフィルタリングします

分類Dev

パンダ:別の列のフラグ間の値をマークします

分類Dev

パンダはインデックス付きの分位数をグループ化します

分類Dev

パンダ:列を介して値の変更にフラグを立てます

分類Dev

パンダを使用した分レート時系列グラフ

分類Dev

パンダ:一意の値のグラフをプロットします

分類Dev

パンダは値カウントを使用して型を取得します

分類Dev

パンダ-2つの列の組み合わせを使用してグラフを自動化します

分類Dev

すべての行の値を取得し、パンダで列を作成します

分類Dev

パンダの分と秒の小数値を削除します

分類Dev

Pythonグラフェンを使用して値を設定し、いくつかの値を取得する

分類Dev

パンダの棒グラフにMaxNLocatorを使用すると、ラベルが間違ってしまいます

分類Dev

パンダの行を繰り返して、値のグループを取得しますか?

分類Dev

パンダを使用して、その行の最初のゼロ以外の値の列名を取得します

分類Dev

パンダを使用して条件に一致する値のインデックスを取得します

分類Dev

グループ化して、パンダで1年オフセットされた値を取得します

分類Dev

パンダを使用して列内の特定の値の数を取得する方法

分類Dev

パンダを使用して、特定の公称値を行にランダムに割り当てます

分類Dev

パンダを使用したフィルターを使用して値の差を計算します

分類Dev

パンダの特定の値を含む列名を取得します

Related 関連記事

  1. 1

    別の列の値に基づいて、パンダのデータフレームを分位数でフィルタリングします

  2. 2

    パンダの新しい列として分位数を追加します

  3. 3

    パンダは、四分位数を使用してGroupby2列の行を削除します

  4. 4

    パンダ:大なり記号と小なり記号を使用して、分位数の新しいDF値にどのように割り当てますか?

  5. 5

    パンダ:列値のランダムサンプリングを使用してNaNを置き換えます

  6. 6

    purrrを使用して、リスト内の対応する行列エントリの分位数を取得します

  7. 7

    リサンプルまたはgroupbyを使用して時系列のパーセンタイル/分位数を計算します-パンダ

  8. 8

    パンダ:groupby計算を使用してフラグを追加します

  9. 9

    2つのグラフをレンダリングし、Angularjsディレクティブを使用してグラフを分離します

  10. 10

    値のグループごとの分位数に基づいてデータフレームをフィルタリングします

  11. 11

    パンダ:別の列のフラグ間の値をマークします

  12. 12

    パンダはインデックス付きの分位数をグループ化します

  13. 13

    パンダ:列を介して値の変更にフラグを立てます

  14. 14

    パンダを使用した分レート時系列グラフ

  15. 15

    パンダ:一意の値のグラフをプロットします

  16. 16

    パンダは値カウントを使用して型を取得します

  17. 17

    パンダ-2つの列の組み合わせを使用してグラフを自動化します

  18. 18

    すべての行の値を取得し、パンダで列を作成します

  19. 19

    パンダの分と秒の小数値を削除します

  20. 20

    Pythonグラフェンを使用して値を設定し、いくつかの値を取得する

  21. 21

    パンダの棒グラフにMaxNLocatorを使用すると、ラベルが間違ってしまいます

  22. 22

    パンダの行を繰り返して、値のグループを取得しますか?

  23. 23

    パンダを使用して、その行の最初のゼロ以外の値の列名を取得します

  24. 24

    パンダを使用して条件に一致する値のインデックスを取得します

  25. 25

    グループ化して、パンダで1年オフセットされた値を取得します

  26. 26

    パンダを使用して列内の特定の値の数を取得する方法

  27. 27

    パンダを使用して、特定の公称値を行にランダムに割り当てます

  28. 28

    パンダを使用したフィルターを使用して値の差を計算します

  29. 29

    パンダの特定の値を含む列名を取得します

ホットタグ

アーカイブ