Python 更改具有公共索引的特定单元格值

Python 更改具有公共索引的特定单元格值,python,pandas,Python,Pandas,我正在尝试更改数据帧的特定单元格的值。我使用loc查找具有给定索引的所有列,然后尝试更改给定的行和列值,但它没有反映在原始数据帧中 df.loc[df.index == 'Lactose intolerance ', 'abdominal pain'] = "yes" 结果是: 诊断 乳糖不耐症是的 乳糖不耐症是的 名称:腹痛,数据类型:object 但当尝试只对一行执行此操作时,它不会更改该单元格值 df.loc[df.index == 'Lactose intolerance ', 'ab

我正在尝试更改数据帧的特定单元格的值。我使用loc查找具有给定索引的所有列,然后尝试更改给定的行和列值,但它没有反映在原始数据帧中

df.loc[df.index == 'Lactose intolerance ', 'abdominal pain'] = "yes"
结果是:

诊断

乳糖不耐症是的

乳糖不耐症是的

名称:腹痛,数据类型:object

但当尝试只对一行执行此操作时,它不会更改该单元格值

df.loc[df.index == 'Lactose intolerance ', 'abdominal pain'].iloc[0] = "no"
现在,单元格值没有更改。为什么会这样?

试试:

df.iloc[row_index, col_index] = "no"


我在创建数据帧时将索引作为列表值诊断,因此我没有唯一的索引。因此,上述方法无法解决问题。是的,它可以解决问题,只需使用第二行代码并将诊断字符串放入第_行索引位置。诊断字符串仅为“乳糖不耐受”,并且是多个,如果它是唯一的,则不会有任何问题。谢谢。这个问题与机器学习无关-请不要对移除的标签发送垃圾邮件
df.loc[row_index, 'Lactose intolerance] = "no"