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

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

Pandas 對(duì)重復(fù)的列值進(jìn)行排序

Pandas 對(duì)重復(fù)的列值進(jìn)行排序

波斯汪 2022-06-02 18:06:02
如何對(duì) DataFrame 進(jìn)行排序,以便將列的重復(fù)行值“添加”到它們首先“出現(xiàn)”的行中?例如,我原來的 DataFrame 是這樣的:In [3]: dfOut[3]:     A  B0  r1  01  r3  32  r3  53  r1  34  r3  65  r4  26  r2  17  r1  7我想對(duì)它進(jìn)行以下排序In [3]: dfOut[3]:     A  B0  r1  01  r1  32  r1  73  r3  34  r3  55  r3  66  r4  27  r2  7我已經(jīng)嘗試過df.groupby('A')了,但它沒有給我想要的結(jié)果
查看完整描述

2 回答

?
明月笑刀無情

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

你可以像這樣使用 group by


df.groupby("A").apply(lambda x: x[["B"]].copy()).reset_index(level=0)

但是如果您不想對(duì)組進(jìn)行某些操作,則簡單排序?qū)⑵鹱饔?/p>


df.sort_values("A")

## or 

df.sort_values(["A", "B"])


查看完整回答
反對(duì) 回復(fù) 2022-06-02
?
紫衣仙女

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

您可以創(chuàng)建一個(gè)字典,將 A 列映射到它首次出現(xiàn)時(shí)的索引,然后使用它對(duì) df 進(jìn)行排序:


d = {}

c = 0

for i in df.itertuples():

    if i.A not in d:

        d.update({i.A: c})

        c += 1


df['m'] = df.A.map(d)

df = df.sort_values(by='m').drop('m', axis=1)


    A  B

0  r1  0

3  r1  3

7  r1  7

1  r3  3

2  r3  5

4  r3  6

5  r4  2

6  r2  1


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

添加回答

舉報(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)