将行号添加到表中的列字符串

2024-09-26 18:15:49 发布

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

我有以下基本数据框架:

df:
            Name    Category    Rank
    0     John        A         nan
    1     Mick        A         nan
    2     Tess        A         nan
    3     Jackie      A         nan
    4     Tash        A         nan

我希望在“排名”列中包含一个字符串,以便其内容如下:

        Name    Category    Rank
0     John        A         A1
1     Mick        A        A2
2     Tess        A        A3
3     Jackie      A        A4
4     Tash        A        A5

我试过df['Rank'] =df['Rank'].fillna("A"+str(df.index.values+1)),但它给了我所有的索引值

我相信有一个简单的方法,但我看不到找到它。任何帮助都将不胜感激


Tags: 数据字符串name框架内容dfa1nan
2条回答

您可以尝试以下方法:

df['Rank'] = df['Category'] + (np.arange(len(df)) + 1).astype(str)
OR
df['Rank'] = df['Category'] + (df.index + 1).astype(str)

如果您有多个不同类别,则更安全

df['Rank'] = df.Category + df.groupby('Category').cumcount().add(1).astype(str)
df
Out[232]: 
     Name Category Rank
0    John        A   A1
1    Mick        A   A2
2    Tess        A   A3
3  Jackie        A   A4
4    Tash        A   A5

相关问题 更多 >

    热门问题