在下面的代码行中,我尝试将lambda公式仅应用于基于某个条件的选定行。我不希望将该公式应用于数据集中的每一行。代码看起来工作正常,但我收到一条警告:“SettingWithCopyWarning:一个值正试图被设置在一个切片的副本从一个数据框”(不知道为什么?),所以我不知道这是否是正确的方式做它?此外,如果有一个更有效/更容易的方式,我会很感激让我知道它。谢谢。
我基本上是想说如果列GlobalName = ''那么应用lambda(它有自己的if语句)
df['GlobalName'][df['GlobalName']==''] = df['IsPerson'].apply(lambda x: x if x==True else '')
2条答案
按热度按时间avwztpqn1#
根据文档,正确的表示法似乎是=左边的是:
试试看你能不能收到警告
gpnt7bae2#
更新:此解决方案有效: