首页 文章

如何返回向量的每个组的运行函数,而不是pandas的单个值?

提问于
浏览
0

我想知道,我如何在熊猫中做How to a run function per group that return vector, not single value? .

我有一个on 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

我想分析每组的值列 . 例如,我想使用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 回答

  • 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
    

相关问题