我有一个数据框,其中一行包含以下内容:
id animal
1 tiger
我想简单地将 1 的值“设置”为“狮子”。
contains_latlong.iloc[1]["animal"]="lion"
是 Pandas 不喜欢的东西。作为新手,我想我会混淆复制和修改数据帧。警告是
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
设置一个单元格给定值的方法是什么? (而且,一般来说,我应该如何考虑这个问题?)
编辑:str.replace
不是我在这里寻找的。我只想用其他一些字符串(文字)替换那个单元格的内容(无论它是什么,而不是正则表达式)
最佳答案
一般来说,方法是使用索引和列标识符:
df.loc[1, 'id'] = 'Lion'
产量
animal id
1 tiger Lion
没有任何警告。
您的示例使用“iloc
”而不是“loc
”,这意味着您需要通过索引而不是名称访问列和索引。 df.iloc[0, 0] = 'Lion'
之类的东西可能适用于您的示例,假设您显示的是没有索引的完整行。
关于python - 如何用字符串替换整个 Pandas 单元格的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31816831/