第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在 Pandas 中對包含數(shù)字的字符串列進(jìn)行排序

在 Pandas 中對包含數(shù)字的字符串列進(jìn)行排序

慕工程0101907 2023-05-23 14:50:05
我想按列排序我的表。該列是一個(gè)包含數(shù)字的字符串,例如 ASH11、ASH2、ASH1 等。問題是使用方法sort_values將執(zhí)行“字符”排序,因此示例中的列將像這樣排序--> ASH1,ASH11,ASH2。我想要這樣的順序 --> AS20H1、AS20H2、AS20H11(考慮到最后一個(gè)數(shù)字)。我雖然考慮了字符串的最后一個(gè)字符,但有時(shí)只是最后一個(gè),在其他情況下是最后兩個(gè)。反過來(從開頭獲取字符)也不起作用,因?yàn)樽址⒉豢偸莵碜韵嗤拈L度(即在某些情況下名稱為 ASH1、ASGH22、ASHGT3 等)
查看完整描述

3 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

使用key參數(shù)(新增1.1.0

df.sort_values(by=['xxx'], key=lambda col: col.map(lambda x: int(re.split('(\d+)',x)[-2])))


查看完整回答
反對 回復(fù) 2023-05-23
?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

使用列表理解和正則表達(dá)式:


>>> import pandas as pd

>>> import re #Regular expression


>>> a = pd.DataFrame({'label':['AS20H1','AS20H2','AS20H11','ASH1','ASGH22','ASHGT3']})

>>> a

     label

0   AS20H1

1   AS20H2

2  AS20H11

3     ASH1

4   ASGH22

5   ASHGT3

r'(\d+)(?!.*\d)' 匹配字符串中的最后一個(gè)數(shù)字


>>> a['sort_int'] = [ int(re.search(r'(\d+)(?!.*\d)',i).group(0)) for i in a['label']]

>>> a

     label  sort_int

0   AS20H1         1

1   AS20H2         2

2  AS20H11        11

3     ASH1         1

4   ASGH22        22

5   ASHGT3         3


>>> a.sort_values(by='sort_int',ascending=True)

     label  sort_int

0   AS20H1         1

3     ASH1         1

1   AS20H2         2

5   ASHGT3         3

2  AS20H11        11

4   ASGH22        22


查看完整回答
反對 回復(fù) 2023-05-23
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

您可以從列中提取整數(shù),然后使用它對數(shù)據(jù)幀進(jìn)行排序

  df["new_index"] = df.yourColumn.str.extract('(\d+)')
  df.sort_values(by=["new_index"], inplace=True)

如果您在“new_index”列中得到一些 NA,您可以在 sort_values 方法中使用選項(xiàng) na_position 來選擇放置它們的位置(開始或結(jié)束)


查看完整回答
反對 回復(fù) 2023-05-23
  • 3 回答
  • 0 關(guān)注
  • 297 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號