如何在Pandas数据框中的特定位置插入列? (更改熊猫数据框中的列顺序)

时间:2020-06-17 15:13:19

标签: python pandas dataframe

我有一个熊猫数据框,我想将“ F”列移到“ B”列之后。有办法吗?

   A  B  C    D  E  F
0  7  1       8  1  6
1  8  2  5    8  5  8
2  9  3  6    8     5
3  1     8    1  3  4
4  6  8  2    5  0  9
5     2  N/A  1  3  8


df2
   A  B  F  C    D  E  
0  7  1  6       8  1  
1  8  2  8  5    8  5  
2  9  3  5  6    8     
3  1     4  8    1  3  
4  6  8  9  2    5  0  
5     2  8  N/A  1  3  

所以它最终应该看起来像df2。 提前致谢。

2 个答案:

答案 0 :(得分:6)

df.insert处获得B的位置后,您可以尝试df.pop + get_loc

df.insert(df.columns.get_loc("B")+1,"F",df.pop("F"))
print(df)

     A  B    F    C  D    E
0  7.0  1  6.0  NaN  8  1.0
1  8.0  2  8.0  5.0  8  5.0
2  9.0  3  5.0  6.0  8  NaN
3  1.0  8  NaN  1.0  3  4.0
4  6.0  8  9.0  2.0  5  0.0
5  NaN  2  8.0  NaN  1  3.0

答案 1 :(得分:3)

另一种极简主义(非常具体!)方法:

      <Switch>
        <Route key="Home" path="/home" component={Home} />
        <Route key="PolicyPlan-create"  path="/PolicyPlan/create" component={PolicyPlanCreatePage} />
        {/* <Route key="PolicyPlan-list" path="/PolicyPlan" component={PolicyPlanListPage} /> */}
        <Route key="PolicyPlan-list" path="/PolicyPlan/list" component={PolicyPlanListPage} />            
        <Route key="PolicyPlan-edit"  path="/PolicyPlan/edit/:id" component={PolicyPlanCreatePage} />   
        <Route key="cardDesign" path="/cardDesign" component={cardDesign} />
        <Route key="Admin-create" path="/admin/create" component={RegisterPage} />
      </Switch>