2013-05-15 31 views
0

同樣的問題已發佈在pydata谷歌組上。關於pandas中的concat:使用行數據創建新列

我想要做一個自定義concat,即使用組中的行按對象 創建新的列。

下面是一個人爲的例子:

Input data frame 
name age 
foo  12 
bar  14 

df = pandas.DataFrame({ 'name':['foo','bar'],'age': [12,14] }) 



expected output, a pandas data frame with four cols 
foo 12 bar 14 

PS:我在尋找有效的解決方案,因爲這將適用於 分組的熊貓Object包含800K奇數分組。

樣本800k數據將具有以下結構。我仍在使用的比喻作爲實際數據的科學性和列名可能不是直觀

Subject (grouped by col) 
      Name  Age  mark1 
      Foo  12   80  
      Bar  14   90 

我們從這個由數據分組要的是下面的數據幀

Subject Foo 12 80 Bar 14 90 
+0

你能詳細介紹一下800k df的外觀嗎? – elyase

+0

Sure @ elyase..details now now – Abhi

+0

當你說你想要一個DataFrame'Subject Foo 12 80 Bar 14 90'時,你是什麼意思? (如何將一行DataFrame?) –

回答

0

你想重塑DataFrame的值如下:

In [43]: pandas.DataFrame(df[['name', 'age']].values.reshape(1, 4)) 
Out[43]: 
    0 1 2 3 
0 foo 12 bar 14 

這應該是有效的,因爲reshape()返回一個視圖。積分@Wouter Overmeire

相關問題