“float”对象在apply()函数中不可下标

2024-06-07 20:58:13 发布

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

我想创建一个新的列“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)

但我不想这样做,因为它可能很慢

如何在仅将此错误应用于一个目标列的情况下处理此错误


Tags: lambda字符串dfreturndef错误longshort

热门问题