亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將行號添加到 pandas 中的列字符串

將行號添加到 pandas 中的列字符串

蝴蝶不菲 2023-08-08 17:16:17
我有以下基本的熊貓數據框: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    Rank0     John        A         A11     Mick        A        A22     Tess        A        A33     Jackie      A        A44     Tash        A        A5我已經嘗試過,df['Rank'] =df['Rank'].fillna("A"+str(df.index.values+1))但它給了我所有的索引值。我確信有一個簡單的方法,但我似乎找不到它。任何幫助將不勝感激!
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

如果您有多個不同的類別,則更安全


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


查看完整回答
反對 回復 2023-08-08
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

有多種方法可以解決這個問題。

  1. 最簡單的

    df['Rank1'] = df['Category'] + (df.reset_index().index+1).astype(str)

  2. 專業的

    df['Rank2'] = df['Category'] + (np.arange(df.shape[0])+1).astype(str)

或者

df['Rank3'] = df['Category'] + (np.arange(len(df))+1).astype(str)
  1. 其他

    df.insert(loc=0, column='Rank4', value=df['Category'] + np.arange(len(df))+1).astype(str))


查看完整回答
反對 回復 2023-08-08
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

你可以試試這個:

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


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號