Pandas版本升级0.24.2应用问题

2024-06-26 05:54:46 发布

您现在位置:Python中文网/ 问答频道 /正文

已将my pandas版本升级到0.24.2,但在运行现有代码时遇到问题:

base\u smile是一个数据帧

xbar是一个浮点数

spot也是一个浮动

我只是在尝试一个简单的应用程序,它在旧版本中运行得很好

base_smile['xbar'] = base_smile.apply(lambda row: xbar if row['strike'] > spot else (-1)*xbar, axis=1)

对于新版本,我必须使用.any()对其进行如下调整

base_smile['xbar'] = base_smile.apply(lambda row: xbar if row['strike'].any() > spot else (-1)*xbar, axis=1)

有人能解释一下为什么,还有没有更好的办法。我不喜欢.any()


Tags: lambdapandasbaseifmyanyelserow
1条回答
网友
1楼 · 发布于 2024-06-26 05:54:46

您的新代码可能不符合您的要求。无论如何,它可以以更好的方式重写:

base_smile['xbar'] *= np.where(base_smile['strike'] > spot, 1, -1)

这将适用于任何版本,并且速度更快

相关问题 更多 >