我有一个数据框,我想使用if语句为其添加列值。我一直在尝试lambda函数,但是还没有碰运气。我想添加一列,说如果threshold
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
关于python - Pandas 新列if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49071084/