簡體   English   中英

基於三個現有列創建一個新列

[英]Creating a new column based on three existing columns

我有一個包含三列的數據框target_degreeslow_degreeshigh_degrees 我想創建一個標記為 success 的新列,用於檢查 target_degrees 是否位於low_degreeshigh_degrees之間。

示例數據框:

target_degrees   low_degrees   high_degrees   success
   10                0              50          1
   50                45             100         1
   20               100             200         0
   1                300             350         0

我已嘗試在以下代碼中使用np.where ,但出現語法錯誤。

df['success'] = np.where(df['target_degrees'] is in np.arange(df['low_degrees'], df['high_degrees']), 1, 0)

使用多個條件:

df['success'] = np.where(((df['target_degrees'] >= df['low_degrees']) & (df['target_degrees']<= df['high_degrees'])), 1, 0)

輸出

  target_degrees  low_degrees   high_degrees    success
0       10                 0         50            1
1       50                45        100            1
2       20               100        200            0
3        1               300        350            0

between方法更簡潔一點:

df['success'] = df['target_degrees'].between(df['low_degrees'], df['high_degrees'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM