2017-04-21 5 views
0

私は知りたい、どうすればパンダにHow to a run function per group that return vector, not single value?するのですか?パンダで単一の値ではなくベクトルを返すグループごとの実行関数はどうですか?

私はvalue-columnとgroup-columnでデータセットを持っています。

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 

グループごとにvalue-columnを分析したいと思います。たとえば、私は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 
で結果をラップすることができた場合に余分なポイント
関連する問題