如何用字符串替换整个Pandas单元格的内容?

时间:2015-08-04 18:40:35

标签: python pandas

我的数据框的行包含以下内容:

id    animal
1     tiger

我想简单地“设置”1的值,比如“狮子”。

contains_latlong.iloc[1]["animal"]="lion"

是熊猫不喜欢的东西。我认为,新的,我正在混淆复制和修改数据帧。警告是

  

SettingWithCopyWarning:   尝试在DataFrame

的切片副本上设置值

设置单元格的给定值的方法是什么? (而且,一般来说,我该怎么想这个?)

修改str.replace不是我在这里寻找的。我只想用其他字符串(文字)替换该单元格的内容(无论是什么,而不是正则表达式)

1 个答案:

答案 0 :(得分:2)

通常,方法是使用索引和列标识符:

df.loc[1, 'id'] = 'Lion'

产量

  animal    id
1  tiger  Lion

没有任何警告。

您的示例使用" iloc"而不是" loc",这意味着您需要按索引访问列和索引,而不是名称。像df.iloc[0, 0] = 'Lion'这样的内容可能会在您的示例中有效,假设您显示的是没有索引的完整行。