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

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

自定義排序并在熊貓中占據(jù)第一行

自定義排序并在熊貓中占據(jù)第一行

叮當(dāng)貓咪 2023-04-25 17:09:10
我有一個(gè) csv 如下+-----+---------+-----------+------------+| ID  | version | Name      | State      |+-----+---------+-----------+------------+| 101 | 1       | Nut       | In-Transit || 101 | 1       | Nut       | Cancelled  || 101 | 1       | Nut       | Delivered  || 101 | 2       | Nut 2.0   | In-Transit || 102 | 1       | Screw     | Shipped    || 102 | 1       | Screw     | In-Transit || 102 | 2       | Screw 2.0 | Shipped    || 102 | 2       | Screw 2.0 | Cancelled  |+-----+---------+-----------+------------+現(xiàn)在我想在每個(gè) ID 和版本組合的所有可用狀態(tài)中采用最高狀態(tài)(基于以下優(yōu)先級(jí))。我的定制訂單發(fā)表在途中發(fā)貨取消預(yù)期產(chǎn)出+-----+---------+-----------+------------+| ID  | version | Name      | State      |+-----+---------+-----------+------------+| 101 | 1       | Nut       | Delivered  || 101 | 2       | Nut 2.0   | In-Transit || 102 | 1       | Screw     | In-Transit || 102 | 2       | Screw 2.0 | Shipped    |+-----+---------+-----------+------------+我試過下面的查詢但沒有工作。我是 python 的新手,我不確定如何解決這個(gè)問題。import pandas as pdmydata = pd.read_csv('C:/Mypython/Newyork',encoding = "ISO-8859-1")mydata['state'] = pd.Categorical(mydata['state'], ["Delivered","In-Transit","Shipped","Cancelled"])mydate.sort_values('state').drop_duplicates(['ID','VERSION'],keep='first')
查看完整描述

2 回答

?
蝴蝶刀刀

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

對(duì)我來說工作正常,似乎沒有分配回新變量:


mydata['State'] = pd.Categorical(mydata['State'], 

                                ["Delivered", "In-Transit", "Shipped", "Cancelled"], 

                                 ordered=True)


#keep='first'is default value, so should be omitted

mydata = mydata.sort_values('state').drop_duplicates(['ID','version'])

print (mydata)

    ID  version       Name       state

2  101        1        Nut   Delivered

3  101        2    Nut 2.0  In-Transit

5  102        1      Screw  In-Transit

6  102        2  Screw 2.0     Shipped

此外,如果想要按 排序輸出ID,version請(qǐng)按多列添加排序:


mydata['State'] = pd.Categorical(mydata['State'], 

                                ["Delivered", "In-Transit", "Shipped", "Cancelled"], 

                                 ordered=True)

mydata = mydata.sort_values(['ID','version','state']).drop_duplicates(['ID','version'])



查看完整回答
反對(duì) 回復(fù) 2023-04-25
?
12345678_0001

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

使用pd.Categoricalwithordered=True創(chuàng)建一個(gè)分類變量,然后sort_values在這個(gè)分類變量上使用groupbyonID, version和aggusing first:


mydata['State'] = pd.Categorical(mydata['State'], ["Delivered", "In-Transit", "Shipped", "Cancelled"], ordered=True)

df = mydata.sort_values('State').groupby(['ID', 'version'], as_index=False).first()

結(jié)果:


    ID  version       Name       State

0  101        1        Nut   Delivered

1  101        2    Nut 2.0  In-Transit

2  102        1      Screw  In-Transit

3  102        2  Screw 2.0     Shipped


查看完整回答
反對(duì) 回復(fù) 2023-04-25
  • 2 回答
  • 0 關(guān)注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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