2017-04-02 25 views
3

我希望能夠將數據幀結果連接到內存,因爲它們會經過一個函數,並最終得到一個全新的數據框,而只顯示結果。如果沒有在函數之前創建一個數據框,我該怎麼做?例如:如何在未啓動的數據幀中使用pd.concat?

import pandas as pd 
import numpy as np 

rand_df = pd.DataFrame({'A': [ 'x','x','y','y','z','z','z'],'B': np.random.randn(7)}) 

    def myFuncOnDF(df, row): 
     df = df.groupby(['A']).get_group(row).describe() 

    myFuncOnDF(rand_df, 'x') 
    myFuncOnDF(rand_df, 'y') 
    myFuncOnDF(rand_df, 'z') 

我將如何Concat的的myFuncOnDF()到尚不存在的新數據幀的結果?

回答

5

不能確定您所預期的,但groupbydescribe完成同樣的事情

rand_df.groupby('A').B.describe().unstack() 

    count  mean  std  min  25%  50%  75%  max 
A                    
x 2.0 0.362296 0.371891 0.099329 0.230813 0.362296 0.493779 0.625262 
y 2.0 0.473104 0.188415 0.339874 0.406489 0.473104 0.539719 0.606333 
z 3.0 0.506519 1.087770 -0.607696 -0.023102 0.561492 1.063626 1.565760 
+0

這是一個很大的特點我一無所知。感謝分享! – Maksim