在 Pandas 中使用 If-Else-Else 條件建立列
根據 if-elif-else條件建立新列,主要有兩種方法:
非向量化方法
此方法涉及定義一個對行進行操作的函數:
def f(row):
if row['A'] == row['B']:
val = 0
elif row['A'] > row['B']:
val = 1
else:
val = -1
return val
然後,將其沿行應用於資料框:
df['C'] = df.apply(f, axis=1)
向量化方法
向量化方法利用np.where建立新列直接:
df['C'] = np.where(
df['A'] == df['B'], 0, np.where(
df['A'] > df['B'], 1, -1))
此方法對於大型資料集更有效。
這是使用提供的資料幀的範例:
A
A | B |
---|---|
2 | 2 |
3 | 1 |
1 | 3 |
輸出DataFrame
A | B | C |
---|---|---|
2 | 2 | 0 |
3 | 1 | 1 |
1 | 1 |
-1
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3