我想创建一个新的列“Long_Short”,并根据列“sum(Sensi)”填充字符串“Long Positions”“Short Positions”
def LongShort(delta):
if delta > 0:
return 'Long Positions'
else:
return 'Short Positions'
df_instru["Long_Short"] = df_instru['sum(Sensi)'].apply(lambda x: LongShort(x['sum(Sensi)']))
我得到这个错误:
'float' object is not subscriptable
我知道我可以通过将其应用于整个数据帧来绕过此错误:
df_instru["Long_Short"] = df_instru.apply(lambda x: LongShort(x['sum(Sensi)']), axis=1)
但我不想这样做,因为它可能很慢
如何在仅将此错误应用于一个目标列的情况下处理此错误
您应该切换到
numpy.where
或np.where
简称,对于您试图实现的目标来说,这可能更容易、更快:相关问题 更多 >
编程相关推荐