如何重命名列中的值?

2024-05-08 05:11:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧:

  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

怎么做


Tags: 数据idvaluenov重命名frenchitalian
3条回答

也可以使用简单的for循环

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

您可以像下面这样使用^{}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

相关问题 更多 >