如何重命名列中的值?

How to rename value in column?

我有一个数据框:

  id                 value
4_french:k_15          10
87_nov:k_82            82
11_nov:k_10            10
1_italian:k_11         9

我想重命名列 id 中的值 nov:k_ 给它们新的 id k 所以期望的结果必须是:

  id                 value
4_french:k_15          10
k                      82
k                      10
1_italian:k_11         9

怎么做?

您可以像下面这样使用 .str.replace()regex

>>> df['id'] = df['id'].str.replace(r'.*nov:k_.*', 'k', regex= True)

>>> df
  id                 value
4_french:k_15          10
k                      82
k                      10
1_italian:k_11         9

containsloc

结合使用
df.loc[df['id'].str.contains("nov:k_"), 'id'] = "k"

               id  value
0   4_french:k_15     10
1               k     82
2               k     10
3  1_italian:k_11      9

您也可以使用简单的 for 循环。

for i in df['id']:
    if "nov:k" in i:
        df = df.replace(i, 'k')