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

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

比較 Pandas 中的行

比較 Pandas 中的行

瀟湘沐 2023-04-18 16:19:24
我有一個看起來像這樣的熊貓數(shù)據(jù)框:df = pd.DataFrame( [ ['A','one',7], ['A','two',8], ['B','one',9], ['B','two',6]], columns=['ID', 'Type', 'Price'])    ID  Type    Price0   A   one     71   A   two     82   B   one     93   B   two     6我想添加一個列,該列是比較每個 ID 中的“價格”的結(jié)果。所以結(jié)果看起來像這樣:    ID  Type    Price   Level0   A   one        7    low1   A   two        8    high2   B   one        9    high3   B   two        6    low我正在尋找一種有效的方法來做到這一點。謝謝!
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻1772條經(jīng)驗 獲得超8個贊

我們可以嘗試groupby+ rank,然后map


df['Level']=df.groupby('ID').Price.rank().map({1:'low',2:'high'})

df

Out[221]: 

  ID Type  Price Level

0  A  one      7   low

1  A  two      8  high

2  B  one      9  high

3  B  two      6   low


查看完整回答
反對 回復(fù) 2023-04-18
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

讓我們試試duplicated:


df['Level'] = (df.sort_values('Price').duplicated(['ID'])

                 .map({True:'high', False:'low'})

              )

輸出:


  ID Type  Price Level

0  A  one      7   low

1  A  two      8  high

2  B  one      9  high

3  B  two      6   low


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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