[英]pandas new column if statement
我有一個數據框,我想使用if語句為其添加列值。 我一直在嘗試lambda函數,但是還沒有碰運氣。 我想添加一列,說如果threshold <order,然后將新列設置為threshold,否則將列設置為order。
df_new
Order Threshold
20,000 100,000
500,000 50,000
100,000 75,000
我試過了:
df_new['New Column'].apply(lambda x: df_new['Threshold'] if < df_new['Order'] else df_new['Order Quantity'])
有時使用避免if
/ else
構造的算法會有所幫助。 下面的解決方案可能更有效,而且增加了一些直觀的邏輯。
import pandas as pd, numpy as np
df = pd.DataFrame({'Order': [20000, 500000, 100000],
'Threshold': [100000, 50000, 75000]})
df['New'] = np.minimum(df['Threshold'], df['Order'])
# Order Threshold New
# 0 20000 100000 20000
# 1 500000 50000 50000
# 2 100000 75000 75000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.