我是Python新手,我在一段代码上遇到同样的错误。
这是我正在尝试运行的代码:
for title in paper_alias.keys():
alias_ix = paper_alias[title]
papers['PaperAliasId'][alias_ix] = [papers.Id[alias_ix[0]]] * len(alias_ix)
papers['PaperAliasSize'][alias_ix] = [len(alias_ix)] * len(alias_ix)
当我到达
时papers['PaperAliasId'][alias_ix] = [papers.Id[alias_ix[0]]] * len(alias_ix)
papers['PaperAliasSize'][alias_ix] = [len(alias_ix)] * len(alias_ix)
它给了我以下错误
main :3:SettingWithCopyWarning: 尝试在DataFrame的切片副本上设置值 请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
任何关于绕过此警告的方式的建议(我不担心丢失信息)或使用不同的代码会在没有错误的情况下做同样的事情吗?感谢。
答案 0 :(得分:1)
改为使用:
papers.loc[alias_ix, 'PaperAliasId']
遵循您在上面链接的文档中说明的.loc[row_indexer, column_index]
格式。