複数の列を参照する関数をパンダのデータフレームに適用するにはどうすればよいですか?

マサイル・グリエフ

2列を参照する関数をパンダのデータフレームに適用しようとしています。関数が参照している1つの列には、文字列変数、その他の整数があります。

次のエラーが発生します ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

以下は私がこれまでに試したことの例です

def sd2_offshore(gas_rate,platform):
    if platform=='Stage2':
       if 0<gas_rate<900:
          return 5
       elif gas_rate>900:
          return 6
       else:
          return 0
     else:
        return 0

df2['Offshore SD2']=df2.apply(lambda row : sd2_offshore(df2['Gas_Rate_avg'],df2['Platform']))

df2['Platform'] 文字列値が含まれます。

df2['Gas_Rate_avg'] 整数値が含まれています

よろしくお願いします!

編集

以下のデータの例を追加します

Index Platform Gas_Rate_avg
0     Stage2   300
1     Stage2   0
2     Stage2   1100
3     Stage2   1200
4     Stage1   500

期待される出力:

Index Platform  Gas_Rate_avg    Offshore_SD2
0     Stage2    300             5.00
1     Stage2    0               0.00
2     Stage2    1100            6.00
3     Stage2    1200            6.00
4     Stage1    500             0.00
DavideBrex

あなたはaxis=1適用に欠けていました。この方法で試してください:

def sd2_offshore(row): 
    if row["Platform"] == "Stage2": 
        if 0<row['Gas_Rate_avg']<900: 
            return 5 
        elif row['Gas_Rate_avg']>900:
            return 6
        else: 
            return 0 
    else:
        return 0 
    
df2['Offshore SD2'] = df2.apply(lambda row : sd2_offshore(row), axis=1)
df2

Output(df2):

      Platform  Gas_Rate_avg    Offshore SD2
Index           
0     Stage2    300            5
1     Stage2    0              0
2     Stage2    1100           6
3     Stage2    1200           6
4     Stage1    500            0

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

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

分類Dev

パンダデータフレームの単一列内の行に関数を適用するにはどうすればよいですか?

分類Dev

大きなパンダのデータフレームの行に関数を効率的に適用するにはどうすればよいですか?

分類Dev

Daskデータフレームの複数の列に並列に関数を適用するにはどうすればよいですか?

分類Dev

パンダのデータフレームに関数をチャンクで適用するにはどうすればよいですか?

分類Dev

パンダのデータフレームに対して関数を適用するにはどうすればよいですか?

分類Dev

ラムダ関数をデータフレームの列に正しく適用するにはどうすればよいですか?

分類Dev

ラムダを使用した計算の関数に変化する列数を入力し、パンダのデータフレームに適用するにはどうすればよいですか?

分類Dev

複数のデータフレームに関数を適用し、それらを上書きするにはどうすればよいですか?

分類Dev

データフレーム列の複数のフレーズに正規表現を適用するにはどうすればよいですか?

分類Dev

集約されたパンダデータフレームで複数の関数を実行するにはどうすればよいですか

分類Dev

特定の列を取得するためにデータフレームで適用関数を使用するにはどうすればよいですか?

分類Dev

2つのデータフレーム(パンダ)の複数の列の列値を確認するにはどうすればよいですか?

分類Dev

複数の分割データフレームの行名に列を強制してから、(長さが等しくない)すべてのデータフレームに関数を適用するにはどうすればよいですか?

分類Dev

条件に基づいて複数のパンダデータフレーム列を効率的に連結するにはどうすればよいですか?

分類Dev

1つの行を複数に分割し、データフレーム列に日時を適用するにはどうすればよいですか?

分類Dev

pandasデータフレームの2列にカスタム関数を適用するにはどうすればよいですか?

分類Dev

Rを使用してデータフレームの特定の列に関数を適用するにはどうすればよいですか?

分類Dev

ループを使用して複数のパンダデータフレームから列を削除するにはどうすればよいですか?

分類Dev

パンダデータフレームの複数の列から一意の情報を取得するにはどうすればよいですか?

分類Dev

複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

分類Dev

applyを使用してパンダのデータフレーム列を複数に分割するにはどうすればよいですか?

分類Dev

「最後から」分割されたパンダのサブデータフレームにpython関数を適用して新しいデータフレームを取得するにはどうすればよいですか?

分類Dev

データフレームのすべての列にグループごとに関数を適用するにはどうすればよいですか?(Pythonパンダの場合)

分類Dev

パンダデータフレームの複数の列から文字を削除するにはどうすればよいですか?

分類Dev

パンダデータフレームの複数の列で論理演算子をベクトル化するにはどうすればよいですか?

分類Dev

パンダで複数の列を作成するために複数の列に関数を適用するにはどうすればよいですか?

分類Dev

繰り返しなしでデータフレームの2列ごとに関数を適用するにはどうすればよいですか?

分類Dev

複数のパンダデータフレーム列を親列名に要約するにはどうすればよいですか?

Related 関連記事

  1. 1

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

  2. 2

    パンダデータフレームの単一列内の行に関数を適用するにはどうすればよいですか?

  3. 3

    大きなパンダのデータフレームの行に関数を効率的に適用するにはどうすればよいですか?

  4. 4

    Daskデータフレームの複数の列に並列に関数を適用するにはどうすればよいですか?

  5. 5

    パンダのデータフレームに関数をチャンクで適用するにはどうすればよいですか?

  6. 6

    パンダのデータフレームに対して関数を適用するにはどうすればよいですか?

  7. 7

    ラムダ関数をデータフレームの列に正しく適用するにはどうすればよいですか?

  8. 8

    ラムダを使用した計算の関数に変化する列数を入力し、パンダのデータフレームに適用するにはどうすればよいですか?

  9. 9

    複数のデータフレームに関数を適用し、それらを上書きするにはどうすればよいですか?

  10. 10

    データフレーム列の複数のフレーズに正規表現を適用するにはどうすればよいですか?

  11. 11

    集約されたパンダデータフレームで複数の関数を実行するにはどうすればよいですか

  12. 12

    特定の列を取得するためにデータフレームで適用関数を使用するにはどうすればよいですか?

  13. 13

    2つのデータフレーム(パンダ)の複数の列の列値を確認するにはどうすればよいですか?

  14. 14

    複数の分割データフレームの行名に列を強制してから、(長さが等しくない)すべてのデータフレームに関数を適用するにはどうすればよいですか?

  15. 15

    条件に基づいて複数のパンダデータフレーム列を効率的に連結するにはどうすればよいですか?

  16. 16

    1つの行を複数に分割し、データフレーム列に日時を適用するにはどうすればよいですか?

  17. 17

    pandasデータフレームの2列にカスタム関数を適用するにはどうすればよいですか?

  18. 18

    Rを使用してデータフレームの特定の列に関数を適用するにはどうすればよいですか?

  19. 19

    ループを使用して複数のパンダデータフレームから列を削除するにはどうすればよいですか?

  20. 20

    パンダデータフレームの複数の列から一意の情報を取得するにはどうすればよいですか?

  21. 21

    複数のgroup-by条件を適用して、pandasデータフレームの列で操作を実行するにはどうすればよいですか?

  22. 22

    applyを使用してパンダのデータフレーム列を複数に分割するにはどうすればよいですか?

  23. 23

    「最後から」分割されたパンダのサブデータフレームにpython関数を適用して新しいデータフレームを取得するにはどうすればよいですか?

  24. 24

    データフレームのすべての列にグループごとに関数を適用するにはどうすればよいですか?(Pythonパンダの場合)

  25. 25

    パンダデータフレームの複数の列から文字を削除するにはどうすればよいですか?

  26. 26

    パンダデータフレームの複数の列で論理演算子をベクトル化するにはどうすればよいですか?

  27. 27

    パンダで複数の列を作成するために複数の列に関数を適用するにはどうすればよいですか?

  28. 28

    繰り返しなしでデータフレームの2列ごとに関数を適用するにはどうすればよいですか?

  29. 29

    複数のパンダデータフレーム列を親列名に要約するにはどうすればよいですか?

ホットタグ

アーカイブ