我有一個資料框 df,我想在其中使用 Pandas 根據列名重新排列行順序
資料
id status
aa Y
ai N
bb N
bc N
dd Y
di Y
想要的
id status
bb N
dd Y
aa Y
ai N
di Y
bc N
正在做
df.reindex([2,4,0,1,5,3])
我相信我可以做一個索引,但是,我希望使用實際的列名和值來重新排序(類似于列重新排序)
df = df['id'].reindex(['bb','dd','aa','ai','di', 'bc'], axis=0)
uj5u.com熱心網友回復:
我猜想有幾種方法可以實作你想要的,這是其中之一。
order = ['bb','dd','aa','ai','di', 'bc']
mapping = {v:k for k,v in enumerate(order)}
df.sort_values("id", key= lambda s: s.map(mapping))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/344581.html
上一篇:以科學記數法列出numpy陣列
下一篇:通過布爾函式過濾熊貓資料框
