我想知道,我如何在熊猫中做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
完成额外积分答案 0 :(得分: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