pandas將兩列中的較大值組成新的一列

最近一個開發需求中要求用pandas實現該需求:

    逐行對比兩列,選出每行兩列中較大的值加到第三列

翻了下好像沒有類似的函數,所以沒辦法要自己造輪子,直接上代碼和註釋

# 需要對比的值爲value_x和value_y
# 新家的列名爲value_final
# 1.設置一個flag,值爲value_y-value_x,爲正代表y較大,負代表x較大
df_test['value_flag'] = df_test['Value_y'] - df_test['Value_x']
# 2.分別取得y較大的部分和x較大的部分
df_test_bigger = df_test[df_test['value_flag'] >= 0].copy()
df_test_litter = df_test[df_test['value_flag'] < 0].copy()
# 3.分別對final進行賦值
df_test_bigger['Value_Final'] = df_test_bigger['Value_y']
df_test_litter['Value_Final'] = df_test_litter['Value_x']
# 4.使用concat函數將其聚合
df_test_1 = pd.concat([df_test_bigger, df_test_litter])

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章