スクリプトを関数に移動し、新しい列が値を適切に保持しない

mgadfly

私は新しく、何をしているのかわかりません。Stack Overflowを検索しましたが、何が間違っているのか理解できませんでした。

私がやりたいのは、列の値に基づいてデータフレームを並べ替えてから、新しい列を作成し、並べ替えられたリストに基づいてランク(この場合は1から4)を割り当てることです。次に、新しい列の値に基づいて再度実行します。

例:dfteams = dfteams.sort_values(['Wins']、ascending = [False])dfteams ['Win_rnk'] = range(1、len(dfteams)+ 1)

データフレーム(「dfteams」という名前が割り当てられています)で、DF全体を「Wins」列で並べ替えました。次に、「Win_rnk」という名前の新しい列を作成し、各行に1から4までのランク付けを割り当てました(これは、データフレームにある行数だからです)。

それはうまくいきます。そして、新しい統計に基づいて再度実行すると、それも完全に正常に機能します。

ただし、同じコードを取得して関数にドロップすると、すべての新しい列は同じ値になります(最後に並べ替えた列に基づいてランク付けされます)。また、スクリプトの一部として直接機能する理由はわかりませんが、関数を介して実行した場合は機能しません。

ヘッダー=チーム、勝ち、負け、ポイント

チーム1、7、1、560

チーム2、6、2、595

チーム3、5、3、403

チーム4、4、4、460

Win_rnk列を追加したい(上記のサンプルコードを使用):Header = Team、Wins、Losses、Points、Win_rnk

チーム1、7、1、560、1

チーム2、6、2、595、2

チーム3、5、3、403、3

チーム4、4、4、460、4

次に、Points_rnk列を追加します(例と同じコードですが、dfteams ['Points']を呼び出して並べ替えます。

ヘッダー=チーム、勝ち、負け、ポイント、Win_rnk、Points_rnk

チーム2、6、2、595、2、1

チーム1、7、1、560、1、2

チーム4、4、4、460、4、3

チーム3、5、3、403、3、4

私のスクリプトでは、それは機能します。コードを関数に移動したいのですが、移動すると、両方の新しい列が同じ値になります。

defranking_stats(dfteams):dfteams = dfteams.sort_values(['Wins']、ascending = [False])dfteams ['Win_rnk'] = range(1、len(dfteams)+ 1)

dfteams = dfteams.sort_values(['Points'], ascending=[False])
dfteams['Points_rnk'] = range(1, len(dfteams) + 1)

スクリプトで直接実行するのではなく、関数を呼び出すと、次のようになります。

ヘッダー=チーム、勝ち、負け、ポイント、Win_rnk、Points_rnk

チーム2、6、2、595、1、1

チーム1、7、1、560、2、2

チーム4、4、4、460、3、3

チーム3、5、3、403、4、4

Win_rnk列がPoints_rnkと同じ値で返されることに注意してください。それは私がやろうとしていることではありません。

プログラミングにまったく慣れていないので、基本的にわからないことがあるかもしれませんが、答えを探して見つけられなかった後、誰かが私が間違っていることを教えてくれることを願っています。

アブドゥル・レーマン

このような機能を作る、

def ranking_stats(dfteams): 
    dfteams = dfteams.sort_values(['Wins'], ascending=[False])
    dfteams['Win_rnk'] = range(1, len(dfteams) + 1)
    dfteams = dfteams.sort_values(['Points'], ascending=[False])
    dfteams['Points_rnk'] = range(1, len(dfteams) + 1)
    return dfteams

入力データフレーム-> dfteams、

      Team   Wins   Losses  Points
0     Team1   7       1      560
1     Team2   6       2      595
2     Team3   5       3      403
3     Team4   4       4      460

さて、ranking_stats()このように呼び出します

dfteams = ranking_stats(dfteams)
dfteams

出力:

Team    Wins    Losses  Points  Win_rnk Points_rnk
1   Team2   6         2      595      2         1
0   Team1   7         1      560      1         2
3   Team4   4         4      460      4         3
2   Team3   5         3      403      3         4

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

キーがpygameでスプライトを適切に移動しない、奇妙な動作

分類Dev

Javascript関数が配列を適切にフラット化しない

分類Dev

リスト要素をリストの最後に移動する関数が複数回機能しない

分類Dev

PHPシステムコール関数が変数を適切にエクスポートしない

分類Dev

AndroidStudioが新しいプロジェクトを適切に設定していない

分類Dev

新しい出力がなくなるまで、メンバーに関数を適用してリストを展開するときに終了しない

分類Dev

リストのすべての要素に関数を適用して、新しい列を作成します

分類Dev

文字列/浮動小数点数の比較を適切に評価していないifステートメントのbashスクリプト(括弧)

分類Dev

ファイルを定期的に新しいディレクトリに移動するスクリプト

分類Dev

PHP / Javascriptがフォルダを適切に上下に移動しない

分類Dev

SetInterval()関数がページ要素を適切に更新しない

分類Dev

スクリプトは、シーンがリロードされた後もVector2値を保持します。Awake()またはStart()関数での新しいX、Y値の設定は、2回目のロード後に機能しません

分類Dev

Forループが適切に値を追加しない

分類Dev

1つのdata.frame列の数値のコンマ区切りリストを新しい列の新しいリストに変換します

分類Dev

1つのdata.frame列の数値のコンマ区切りリストを新しい列の新しいリストに変換します

分類Dev

複数の列にGroupByを設定し、日付列に基づいて移動関数を適用します

分類Dev

PowerShellスクリプトが移動ファイルと切り取りファイルを削除しないようにすることはできますか?

分類Dev

配列をグループ化し、配列名が不明な場合は新しいオブジェクトの下に移動します

分類Dev

forループの変数がシェルスクリプトで適切な出力を提供しない

分類Dev

本文を保持しながら、リクエストに新しいヘッダーを追加する

分類Dev

列のリストに対するさまざまな関数と、data.tableを使用して新しい列名を自動的に生成します

分類Dev

スタックが依存関係を適切に解決しない

分類Dev

/ usrディレクトリを移動した後にシステムが起動しない

分類Dev

三角ストリップのある新しい列に三角形を移動する

分類Dev

ソートされた関数がリストのリストに対して適切な結果を返さない

分類Dev

Javaスクリプト。配列の最後に新しい値を追加し、残りをシフトします

分類Dev

JIRA不完全なチケットを新しいプロジェクト/スプリントに移動するプロセスは何ですか

分類Dev

要素が非表示/非表示になっている関数で、javascriptを使用してアンカーポイントに移動(スクロールではない)

分類Dev

フレックス列の親を持つ新しい行にスパンが移動しないようにします

Related 関連記事

  1. 1

    キーがpygameでスプライトを適切に移動しない、奇妙な動作

  2. 2

    Javascript関数が配列を適切にフラット化しない

  3. 3

    リスト要素をリストの最後に移動する関数が複数回機能しない

  4. 4

    PHPシステムコール関数が変数を適切にエクスポートしない

  5. 5

    AndroidStudioが新しいプロジェクトを適切に設定していない

  6. 6

    新しい出力がなくなるまで、メンバーに関数を適用してリストを展開するときに終了しない

  7. 7

    リストのすべての要素に関数を適用して、新しい列を作成します

  8. 8

    文字列/浮動小数点数の比較を適切に評価していないifステートメントのbashスクリプト(括弧)

  9. 9

    ファイルを定期的に新しいディレクトリに移動するスクリプト

  10. 10

    PHP / Javascriptがフォルダを適切に上下に移動しない

  11. 11

    SetInterval()関数がページ要素を適切に更新しない

  12. 12

    スクリプトは、シーンがリロードされた後もVector2値を保持します。Awake()またはStart()関数での新しいX、Y値の設定は、2回目のロード後に機能しません

  13. 13

    Forループが適切に値を追加しない

  14. 14

    1つのdata.frame列の数値のコンマ区切りリストを新しい列の新しいリストに変換します

  15. 15

    1つのdata.frame列の数値のコンマ区切りリストを新しい列の新しいリストに変換します

  16. 16

    複数の列にGroupByを設定し、日付列に基づいて移動関数を適用します

  17. 17

    PowerShellスクリプトが移動ファイルと切り取りファイルを削除しないようにすることはできますか?

  18. 18

    配列をグループ化し、配列名が不明な場合は新しいオブジェクトの下に移動します

  19. 19

    forループの変数がシェルスクリプトで適切な出力を提供しない

  20. 20

    本文を保持しながら、リクエストに新しいヘッダーを追加する

  21. 21

    列のリストに対するさまざまな関数と、data.tableを使用して新しい列名を自動的に生成します

  22. 22

    スタックが依存関係を適切に解決しない

  23. 23

    / usrディレクトリを移動した後にシステムが起動しない

  24. 24

    三角ストリップのある新しい列に三角形を移動する

  25. 25

    ソートされた関数がリストのリストに対して適切な結果を返さない

  26. 26

    Javaスクリプト。配列の最後に新しい値を追加し、残りをシフトします

  27. 27

    JIRA不完全なチケットを新しいプロジェクト/スプリントに移動するプロセスは何ですか

  28. 28

    要素が非表示/非表示になっている関数で、javascriptを使用してアンカーポイントに移動(スクロールではない)

  29. 29

    フレックス列の親を持つ新しい行にスパンが移動しないようにします

ホットタグ

アーカイブ