関数を前の行に適用/マップします

Al_Iskander

関数とそのアプリケーションはまだ新しいのでD、データフレームの新しい列を作成したいと思います

 df = pd.DataFrame([[1, 2, 3], [1, 3, 5], [4, 6, 7]], columns=['A', 'B', 'C'])

    A   B   C
 0  1   2   3
 1  1   3   5
 2  4   6   7

Dとその内容は、関数を使用して作成する必要がありますが、私はこの方法について考えています。

 def my_func(B, C):
     if C > B.shift(1):
         df['D'] = 'right'
     return df['D']
 else:
      df['D'] = 'left'
      return df['D']

つまり、簡単に言うとC、の値がB前の行の値よりも大きい場合、セルは「右」になり、それ以外の場合は「左」になります。実行できません、どういうわけかシフトが受け入れられないか、エラーメッセージが表示されます

シリーズの真理値はあいまいです。a.empty、a.bool()、a.item()、a.any()、またはa.all()を使用します。

このようなタスクに関数を最適に使用し、shift()を適用する方法についてのヘルプを歓迎します。

編集:これは頻繁に使用される手順であるため、私はソリューションの「機能バージョン」を探しています。

イズレエル

あなたが使用することができますnumpy.where

df['D'] = np.where(df.C > df.B.shift(), 'left', 'right')
print (df)
   A  B  C      D
0  1  2  3  right
1  1  3  5   left
2  4  6  7   left

機能が必要な場合:

def f(B, C):
    df['D'] = np.where(C > B.shift(), 'left', 'right')
    return df

print(f(df.B, df.C))
   A  B  C      D
0  1  2  3  right
1  1  3  5   left
2  4  6  7   left

または:

def f(B, C):
    df['D'] = np.where(C > B.shift(), 'left', 'right')
    return df.D

print(f(df.B, df.C))
0    right
1     left
2     left
Name: D, dtype: object

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

前の行の値に依存する関数をDataFrameに適用します

分類Dev

前の行の値をマップまたは適用して参照します

分類Dev

リストとmutate_atにマップして、関数を適用します

分類Dev

列にマップし、カスタム関数を適用します

分類Dev

Googleマップ:複数の形状に関数を適用する

分類Dev

Pandas DataFrameは、MultiIndex値の関数に列を適用またはマップします。

分類Dev

SQLは複数のID行に関数を適用します

分類Dev

前の行のデータを参照するデータフレーム行に関数を適用します

分類Dev

マップ関数内でggplot関数を繰り返し適用します

分類Dev

圏論からの適用におけるマップ関数は何をしますか?

分類Dev

Numpy配列の特定の行に関数を適用します

分類Dev

すべての行に関数を適用します

分類Dev

Javascript、マップ関数を適用しますが、2つの可能な関数があります

分類Dev

各n行のパンダに関数を適用します

分類Dev

data.frameの異種行に関数を適用します

分類Dev

pandasdfの行に関数を適用します

分類Dev

Javaでのマップに複数のフィルタを適用します

分類Dev

NaNであるDataFrame行にマップを適用します

分類Dev

Clojure:マップのベクトル内のマップ内のすべての値に関数を適用します

分類Dev

Ramdaの関数の配列に値を適用する関数をクリーンアップします

分類Dev

purrrsマップ関数内にifelseステートメントを追加し、いくつかの整頓された関数を適用します

分類Dev

purrrsマップ関数内にifelseステートメントを追加し、いくつかの整頓された関数を適用します

分類Dev

現在の行をスキップして、SQL Server2012の残りのすべての行に分析関数を適用します

分類Dev

フィルタリングの前に関数を列に適用します

分類Dev

2つの引数の関数を2行の行列に適用します

分類Dev

マップを使用して関数を配列に適用する

分類Dev

インプレース関数にPythonレイジーマップを適用しますか?

分類Dev

SparkJavaのデータセットにマップ関数を適用する方法

分類Dev

マップで複数の関数を適用する

Related 関連記事

  1. 1

    前の行の値に依存する関数をDataFrameに適用します

  2. 2

    前の行の値をマップまたは適用して参照します

  3. 3

    リストとmutate_atにマップして、関数を適用します

  4. 4

    列にマップし、カスタム関数を適用します

  5. 5

    Googleマップ:複数の形状に関数を適用する

  6. 6

    Pandas DataFrameは、MultiIndex値の関数に列を適用またはマップします。

  7. 7

    SQLは複数のID行に関数を適用します

  8. 8

    前の行のデータを参照するデータフレーム行に関数を適用します

  9. 9

    マップ関数内でggplot関数を繰り返し適用します

  10. 10

    圏論からの適用におけるマップ関数は何をしますか?

  11. 11

    Numpy配列の特定の行に関数を適用します

  12. 12

    すべての行に関数を適用します

  13. 13

    Javascript、マップ関数を適用しますが、2つの可能な関数があります

  14. 14

    各n行のパンダに関数を適用します

  15. 15

    data.frameの異種行に関数を適用します

  16. 16

    pandasdfの行に関数を適用します

  17. 17

    Javaでのマップに複数のフィルタを適用します

  18. 18

    NaNであるDataFrame行にマップを適用します

  19. 19

    Clojure:マップのベクトル内のマップ内のすべての値に関数を適用します

  20. 20

    Ramdaの関数の配列に値を適用する関数をクリーンアップします

  21. 21

    purrrsマップ関数内にifelseステートメントを追加し、いくつかの整頓された関数を適用します

  22. 22

    purrrsマップ関数内にifelseステートメントを追加し、いくつかの整頓された関数を適用します

  23. 23

    現在の行をスキップして、SQL Server2012の残りのすべての行に分析関数を適用します

  24. 24

    フィルタリングの前に関数を列に適用します

  25. 25

    2つの引数の関数を2行の行列に適用します

  26. 26

    マップを使用して関数を配列に適用する

  27. 27

    インプレース関数にPythonレイジーマップを適用しますか?

  28. 28

    SparkJavaのデータセットにマップ関数を適用する方法

  29. 29

    マップで複数の関数を適用する

ホットタグ

アーカイブ