如何使用str.contains函数使用行索引替换单元格值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用str.contains函数使用行索引替换单元格值相关的知识,希望对你有一定的参考价值。

我有一个数据框。

    name    degree  score
0   aparna  MBA     90
1   pankaj  BCA     40
2   sudhir  M.Tech  80
3   Geeku   MBA     98

如果该特定行中“度”列中的值包含“ BA”,则我将“分数”列中的值替换为“ Informatica”。我设法使用以下代码替换了df的所有值。

df.loc[df['degree'].str.contains('BA'), 'score'] = 'Informatica'

此代码替换所有值。我只想使用该行的索引值替换该行中的值。

我写了以下代码段。

df.loc[df.index[1], 'degree'].str.contains('BA'), 'score' = 'Informatica'

但是这给了我一个错误。

我希望代码给我这个:

    name    degree  score
0   aparna  MBA     Informatica
1   pankaj  BCA     40
2   sudhir  M.Tech  80
3   Geeku   MBA     98
答案

用途:

df.loc[(df.index == 0) & df['degree'].str.contains('BA'), 'score'] = 'Informatica'
print (df)
     name  degree        score
0  aparna     MBA  Informatica
1  pankaj     BCA           40
2  sudhir  M.Tech           80
3   Geeku     MBA           98

以上是关于如何使用str.contains函数使用行索引替换单元格值的主要内容,如果未能解决你的问题,请参考以下文章

根据 str.contains() 找到的行添加列。熊猫

使用 str.contains 忽略 NaN

pandas:如何限制 str.contains 的结果?

如何在 pandas str.contains 中使用 \b 单词边界?

Python Pandas str.contains() 行中带有超链接

4、pandas的数据筛选之isin和str.contains函数