2016-04-21 142 views
-1

我想要合併特定列中的重複行並重新排列數據。舉例來說,我有以下數據框:Dataframe PANDAS

FROM CONT ID1 ID2 ID3 ID4 ID5 ID6 ID7 
63309 89  101.3 NA  NA  NA  NA  NA  NA 
63309 89  NA  102.3 NA  NA  NA  NA  NA 
63309 89  NA  NA  NA  104 NA  NA  NA 
63309 90  NA  NA  103 105.0 NA  NA  NA 
63309 89  NA  NA  NA  NA  NA  107.1 NA 
63310 92  NA  105.1 105.3 789.1 104 NA  NA 
63310 92  109 NA  NA  NA  NA  NA  NA 
63311 94  104 109 890 NA  NA  NA  107 
63309 89  NA  NA  NA  NA  109 NA  111 

我想我的結果如下格式:

FROM CONT ID1 ID2 ID3 ID4 ID5 ID6 ID7 
63309 89  101.3 NA  NA  NA  NA  NA  NA 
      89  NA  102.3 NA  NA  NA  NA  NA 
      89  NA  NA  NA  104 NA  NA  NA 
      90  NA  NA  103 105.0 NA  NA  NA 
      89  NA  NA  NA  NA  NA  107.1 NA 
      89  NA  NA  NA  NA  109 NA  111 

63310 92  NA  105.1 105.3 789.1 104 NA  NA 
      92  109 NA  NA  NA  NA  NA  NA 

63311 94  104 109 890 NA  NA  NA  107 

我知道我可以使用df.sort()將其按升序排列。我要找的特別是'FROM'列的格式,並且在從一個唯一的'FROM'行轉換到下一個唯一的'FROM'行時添加一個空白空間。

+0

請問問題的標題載有比目前更多的信息。 – FooBar

回答

2
>>> df.set_index(['FROM', 'CONT']).sort_index() 

       ID1 ID2 ID3 ID4 ID5 ID6 ID7 
FROM CONT            
63309 89 101.3 NaN NaN NaN NaN NaN NaN 
     89  NaN 102.3 NaN NaN NaN NaN NaN 
     89  NaN NaN NaN 104.0 NaN NaN NaN 
     89  NaN NaN NaN NaN NaN 107.1 NaN 
     89  NaN NaN NaN NaN 109 NaN 111 
     90  NaN NaN 103.0 105.0 NaN NaN NaN 
63310 92  NaN 105.1 105.3 789.1 104 NaN NaN 
     92 109.0 NaN NaN NaN NaN NaN NaN 
63311 94 104.0 109.0 890.0 NaN NaN NaN 107 

您不希望您的數據框中有空白行。這是一個格式問題。