如何更改列中的字符串值,保存其中的一部分?

How to change string values in column, saving part of it?

我有一个数据框:

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

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

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

怎么做?我知道 str.replace() 但如何在末尾保留数字?

如您所述,您可以按如下方式使用 str.replace

df["id"] = df["id"].str.replace("^.+_nov:", "", regex=True)
print(df)

输出

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

模式 "^.+_nov:" 将删除从字符串开头到 "_nov:"(包括在内)的所有内容。