3 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
如果您有多個(gè)不同的類別,則更安全
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

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
有多種方法可以解決這個(gè)問題。
最簡(jiǎn)單的
df['Rank1'] = df['Category'] + (df.reset_index().index+1).astype(str)
專業(yè)的
df['Rank2'] = df['Category'] + (np.arange(df.shape[0])+1).astype(str)
或者
df['Rank3'] = df['Category'] + (np.arange(len(df))+1).astype(str)
其他
df.insert(loc=0, column='Rank4', value=df['Category'] + np.arange(len(df))+1).astype(str))

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
你可以試試這個(gè):
df['Rank'] = df['Category'] + (np.arange(len(df)) + 1).astype(str) OR df['Rank'] = df['Category'] + (df.index + 1).astype(str)
添加回答
舉報(bào)