2016-04-05 166 views
4

我想添加一列到數據標籤列數據框中的兩列之間的數據幀。在以下數據框中,第一列對應於索引,而第一行對應於列的名稱。Python:如何將列添加到兩列之間的熊貓數據框?

df 
    0 0 1 2 3 4 5 
    1 6 7 4 5 2 1 
    2 0 3 1 3 3 4 
    3 9 8 4 3 6 2 

我有tmp=[2,3,5]我想要的列45之間放,所以

df 
    0 0 1 2 3 4 5 6 
    1 6 7 4 5 2 2 1 
    2 0 3 1 3 3 3 4 
    3 9 8 4 3 6 5 2 
+1

你只需要[添加一個新的列](http://stackoverflow.com/questions/12555323/adding-new-column-to-existing-dataframe-in-python-pandas)然後[order your columns](http:// stackoverflow。 COM /問題/ 13148429 /如何對變化the- -的-數據幀列順序)... –

回答

4

您還可以使用insert

df.insert(4, "new_col_name", tmp) 

然後改變像@Alexander explained列名。

注df.insert()沒有就地參數

所以會做就地操作和返回無

df = df.insert(4, "new_col_name", tmp)將無法​​正常工作

1

首先串連你列到你的數據幀。

df2 = pd.concat([df, pd.DataFrame(tmp)], axis=1) 

然後將列重命名爲所需的最終結果。

df2.columns = [0, 1, 2, 3, 4, 6, 5] 

現在對重命名的列進行排序。

df2.sort_index(axis=1, inplace=True) 

>>> df2 
    0 1 2 3 4 5 6 
0 6 7 4 5 2 2 1 
1 0 3 1 3 3 3 4 
2 9 8 4 3 6 5 2 
相關問題