Pandas 正确使用熊猫。使用lambda涂抹

Pandas 正确使用熊猫。使用lambda涂抹,pandas,dataframe,Pandas,Dataframe,如果“max215”大于“max”,我希望数据帧的“extrema”列为“max215”,如果“min2015”小于“min”,我希望数据帧的“extrema”列为“max215” 我认为这是用df.apply-lambda组合解决这个问题的最优雅的方法,但我无法用它得到正确的解决方案 代码: 我得到以下结果,什么是不正确的解决方案 我的错误是什么,还是另一个好的解决方案 提前谢谢你 可能您正在寻找np。选择 Import numpy as np df = x.copy() df['ext

如果“max215”大于“max”,我希望数据帧的“extrema”列为“max215”,如果“min2015”小于“min”,我希望数据帧的“extrema”列为“max215”

我认为这是用df.apply-lambda组合解决这个问题的最优雅的方法,但我无法用它得到正确的解决方案

代码:

我得到以下结果,什么是不正确的解决方案

我的错误是什么,还是另一个好的解决方案


提前谢谢你

可能您正在寻找
np。选择

Import numpy as np  
df = x.copy()
df['extrema'] = np.select([df['max2015']>df['max'],df['min2015']>df['min']],[df['max2015'],df['min2015']],np.nan)

请以文本形式提供数据您不需要在这里申请。为什么我不需要申请?我认为有必要通过数据框架进行迭代wen的意思可能是,您可以使用矢量化的功能,而不必使用apply。@laurenz您运行我的代码了吗?我发布的一个没有以图像的形式发布数据有任何问题吗?你认为我们如何在数据上尝试我们的解决方案?np.select听起来真的很像我在寻找的。谢谢你的主意!我刚收到几条关于你代码的错误信息。我需要将我的panda DF转换为np数组吗?这是一个输入错误,我正在手机中尝试更新的代码。
Import numpy as np  
df = x.copy()
df['extrema'] = np.select([df['max2015']>df['max'],df['min2015']>df['min']],[df['max2015'],df['min2015']],np.nan)