2017-04-04 176 views
0

此重複值的數據幀是數據幀我有:大熊貓如何重塑包含列

 chr value region 
     chr22  1 21-77 
     chr6  3 12-65 
     chr3  5 73-81 
     chr3  8 91-96 

而這正是我需要的:

     21-77 12-65 73-81 91-96 
      chr22  1  0  0  0       
      chr6   0  3  0  0 
      chr3   0  0  5  8 

請注意第一列的初始數據幀包含重複值。 (如chr3)

請問您能告訴我該怎麼做到。 在此先感謝。

+1

這應該很容易與大熊貓做到請給http://pandas.pydata.org/pandas-docs/stable/reshaping.html讀 – nehiljain

回答

1

看起來像大熊貓的完美應用pivot_table

值得強調的是pivot_table使用numpy的意思是作爲聚合函數(如果有使用相同指數&列多的意見。因此,它隱含在默認情況下需要數(INT /浮動)的值。

frame是包含數據大熊貓據幀:

import pandas as pd 

cc = ['chr', 'value', 'region'] 
vals = [['chr22', 1, '21-77'], 
     ['chr6',  3, '12-65'], 
     ['chr3',  5, '73-81'], 
     ['chr3',  8, '91-96']] 

frame = pd.DataFrame(vals, columns = cc) 

result = pd.pivot_table(frame, 
         values = 'value', index = ['chr'], columns = ['region'], 
         fill_value = 0) 
+0

它會引發DataError(」沒有數字類型來聚合') pandas.core.base.Dat aError:沒有數字類型要聚合 它可能是什麼原因? – anilbey

+0

這是我用過的例子,它運行正常。你確定這是你的真實案例的代表嗎? – FLab

+0

你使用哪個版本的熊貓? – FLab

0

this鏈接幫助?

爲了將來的參考,請在發佈問題前進行調查,因爲可能已經有答案可以幫助你,或者已經有人解決了你遇到的同樣問題。