2017-04-21 18 views
0

我想知道,我該怎麼做How to a run function per group that return vector, not single value?熊貓。如何爲每個組返回向量的運行函數,而不是單個值與熊貓?

我有一個數據集在值列和組列。

x group order 
1 22  a  1 
2 33  a  2 
3 11  a  3 
4 4  b  1 
5 88  b  2 
6 77  b  3 
7 43  b  4 
8 9  b  5 

我想分析每個組的值列。例如,我想用一個fft。我如何在每個返回一個序列的組上運行函數,而不僅僅是每個組的值(對於每個組,fft產生一個向量),並按照每行返回。

我希望像

y group order 
1 21  a  1 
2 62  a  2 
3 83  a  3 
4 4  a  4 
6 46  b  1 
7 17  b  2 

作爲輸出。

我想在熊貓裏做這件事。如果加分能與https://github.com/kieferk/dfply

回答

1

使用apply來完成,並在pd.Series

df.groupby('group').x.apply(lambda x: pd.Series(np.random.choice(x, 2))) 

group 
a  0 22 
     1 33 
b  0 88 
     1 43 
Name: x, dtype: int64 
包住結果
相關問題