パンダでブール値の代わりに0,1,0.5の値を持つ列を作成する

粘土

このデータフレームを検討してください。

id   Name   Score   
314  John    100    
345  Sara    200
355  Zack    200
333  Harry    50
334  Chad     50
331  Newton  100

スコアに基づいて新しい演算子列にカスタム値を割り当てたいので、あるスコアが次のスコアよりも小さい場合は1、0より大きい場合は1、同じままの場合は0.5になります。これは私がこれをどのように見せたいかです:

id   Name   Score  Operator
314  John    100      1
345  Sara    200     0.5
355  Zack    200      0
333  Harry    50     0.5
334  Chad     50      1    
331  Newton  100     NAN

差分列とブール列の組み合わせを試しましたが、バイナリアプローチから離れるためのアクセス権がありません

user3483203

まず、条件を設定します。

prev = df.Score.shift(-1)
c1, c2, c3 = df.Score.lt(prev), df.Score.eq(prev), df.Score.gt(prev)

今使用しますnumpy.select

out = df.assign(out=np.select([c1, c2, c3], [1, 0.5, 0], np.nan))

    id    Name  Score  out
0  314    John    100  1.0
1  345    Sara    200  0.5
2  355    Zack    200  0.0
3  333   Harry     50  0.5
4  334    Chad     50  1.0
5  331  Newton    100  NaN

楽しみのためだけの別の解決策は次の0.5とおりです(差が小さい場合にのみ機能します):

df.Score.diff(-1).mul(-1).add(0.5).clip(0, 1)

0    1.0
1    0.5
2    0.0
3    0.5
4    1.0
5    NaN
Name: Score, dtype: float64

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Laravelブール値はクエリでtrue / falseの代わりに "1" / "0"を返します

分類Dev

複数の値を持つセルからダミー列を作成する

分類Dev

Unixパーミッションシステムが1または0の代わりに12 3 4 ...値を使用するのはなぜですか?

分類Dev

列の値に基づいて累積合計を持ち、groupbyを持つ2つの列を作成する方法

分類Dev

パンダは列の終わりに「0」の値で列の値を並べ替えます

分類Dev

パンダの列に重複する値を持つ数値を追加する

分類Dev

PHPで配列[0]を4つの値に持つ配列を分割する方法

分類Dev

パンダは整数の0と1をブール値に変換します

分類Dev

特定の回数繰り返される値を持つ列を作成する方法

分類Dev

1つのインデックスキー列と複数の値列を持つ辞書を作成する方法

分類Dev

行に特定の値を持つmysql結果の配列を作成する方法

分類Dev

同一の0値を持つ2つの列挙型を作成します

分類Dev

1つのテーブルで値0/1のmysqlで2つの列を一意にする方法は?

分類Dev

libexpat1の代わりにlibexpat0をインストールする

分類Dev

ネストされたnp.whereステートメントの代わりに、他の2つの既存の列に基づいて新しいパンダブール列を作成しながらNaN値を保持します

分類Dev

他の列の値を連結する値を持つ列

分類Dev

1列に2つの値を持つcsvを解析する

分類Dev

pandasDataFrameで特定の値を持つ列を作成します

分類Dev

2つの関数を作成する代わりに、ブール値を関数に渡す

分類Dev

パンダは、日時値を持つ他の2つの列に基づいてブール列を作成します

分類Dev

MAKEWORD / MAKEWPARAMでBOOL値の代わりにブール値を使用する

分類Dev

2 つの列に共通の値を持つ行を特定する

分類Dev

パンダの列で10年に世紀の値(つまり1900と2000)を追加する方法0

分類Dev

パンダで定期的に繰り返される値を持つ列を作成します

分類Dev

グループごとの違いを条件として値1を持つ新しい列を作成する

分類Dev

1つの「x」値と複数の「y」値を持つggplotを作成する方法

分類Dev

カスタム値を持つ最初のアイテムの後にnull値を持つ配列を作成するにはどうすればよいですか?

分類Dev

すべての列に連続するNaN値を持つタプルのリストを作成します

分類Dev

テーブルを、列の1つに特定の値を持つレコードの量に制限する

Related 関連記事

  1. 1

    Laravelブール値はクエリでtrue / falseの代わりに "1" / "0"を返します

  2. 2

    複数の値を持つセルからダミー列を作成する

  3. 3

    Unixパーミッションシステムが1または0の代わりに12 3 4 ...値を使用するのはなぜですか?

  4. 4

    列の値に基づいて累積合計を持ち、groupbyを持つ2つの列を作成する方法

  5. 5

    パンダは列の終わりに「0」の値で列の値を並べ替えます

  6. 6

    パンダの列に重複する値を持つ数値を追加する

  7. 7

    PHPで配列[0]を4つの値に持つ配列を分割する方法

  8. 8

    パンダは整数の0と1をブール値に変換します

  9. 9

    特定の回数繰り返される値を持つ列を作成する方法

  10. 10

    1つのインデックスキー列と複数の値列を持つ辞書を作成する方法

  11. 11

    行に特定の値を持つmysql結果の配列を作成する方法

  12. 12

    同一の0値を持つ2つの列挙型を作成します

  13. 13

    1つのテーブルで値0/1のmysqlで2つの列を一意にする方法は?

  14. 14

    libexpat1の代わりにlibexpat0をインストールする

  15. 15

    ネストされたnp.whereステートメントの代わりに、他の2つの既存の列に基づいて新しいパンダブール列を作成しながらNaN値を保持します

  16. 16

    他の列の値を連結する値を持つ列

  17. 17

    1列に2つの値を持つcsvを解析する

  18. 18

    pandasDataFrameで特定の値を持つ列を作成します

  19. 19

    2つの関数を作成する代わりに、ブール値を関数に渡す

  20. 20

    パンダは、日時値を持つ他の2つの列に基づいてブール列を作成します

  21. 21

    MAKEWORD / MAKEWPARAMでBOOL値の代わりにブール値を使用する

  22. 22

    2 つの列に共通の値を持つ行を特定する

  23. 23

    パンダの列で10年に世紀の値(つまり1900と2000)を追加する方法0

  24. 24

    パンダで定期的に繰り返される値を持つ列を作成します

  25. 25

    グループごとの違いを条件として値1を持つ新しい列を作成する

  26. 26

    1つの「x」値と複数の「y」値を持つggplotを作成する方法

  27. 27

    カスタム値を持つ最初のアイテムの後にnull値を持つ配列を作成するにはどうすればよいですか?

  28. 28

    すべての列に連続するNaN値を持つタプルのリストを作成します

  29. 29

    テーブルを、列の1つに特定の値を持つレコードの量に制限する

ホットタグ

アーカイブ