我目前正在使用jupyter笔记本进行python项目。我想预测一下法国的体育馆出勤率(历史1)。
为了实现这一点,我从网上收集了漂亮的汤中的数据。我现在正尝试清理数据:我缺少一些关于体育场的值,我想为特定的球队(奥林匹亚lyonnais)分配体育场。
我首先尝试过:
stats_match.stade[(stats_match.saison >= 2017) & (stats_match.domicile == 'Olympique Lyonnais') & (stats_match.stade.isna())] = 'Groupama stadium'
给我那个错误:
SettingWithCopyWarning: 试图在DataFrame的切片副本上设置一个值
所以我按照指示进行了尝试,
stats_match.stade.loc((stats_match.saison >= 2017) & (stats_match.domicile == 'Olympique Lyonnais') & (stats_match.stade.isna())) = 'Groupama stadium'
这给了我:
文件“”,第3行 stats_match.stade = stats_match.stade.loc((stats_match.saison> = 2017)&(stats_match.domicile =='奥林匹克里昂奥运会')&(stats_match.domicile.isna()))='Groupama体育场'
SyntaxError:无法分配给函数调用
我在这里想念什么?我必须使用.where函数吗? 非常感谢
答案 0 :(得分:1)
这应该是正确的;
stats_match.loc[(stats_match.saison >= 2017) & (stats_match.domicile == 'Olympique Lyonnais') & (stats_match.stade.isna())] = 'Groupama stadium'
答案 1 :(得分:0)
好吧,就像@roganjosh所说的,我放了()而不是[],但是我现在有同样的警告“ SettingWithCopyWarning,我已经有了这个警告,并使用了.copy(),但是有更好的方法吗?< / p>