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

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

如何獲取熊貓列中最后一次出現條紋的行?

如何獲取熊貓列中最后一次出現條紋的行?

汪汪一只貓 2022-06-07 19:49:42
我有一個這樣的數據框df1 = pd.DataFrame({'x':[0,1,2,3,4,5,6,7,8,9],'y':['a','a','b','c','b','b','a','b','c','c']})我們如何返回如下的數據框df2 = pd.DataFrame({'x':[1,2,3,5,6,7,9],'y':['a','b','c','b','a','b','c']})有沒有一種使用列操作而不是循環遍歷每一行的有效方法?
查看完整描述

2 回答

?
慕哥6287543

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

每次值與下一個值不同時,您都需要找到,因此與下一個值進行比較就足夠了:


mask = df1['y'].ne(df1['y'].shift(-1))

df2 = df1[mask].reset_index(drop=True)

print(df2)

輸出


   x  y

0  1  a

1  2  b

2  3  c

3  5  b

4  6  a

5  7  b

6  9  c


查看完整回答
反對 回復 2022-06-07
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

cumsum查找連續塊的經典應用:


df1.groupby(df1['y'].ne(df1['y'].shift()).cumsum(), as_index=False).last()

輸出:


   x  y

0  1  a

1  2  b

2  3  c

3  5  b

4  6  a

5  7  b

6  9  c


查看完整回答
反對 回復 2022-06-07
  • 2 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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