I have a simple DataFrame Object:
df = pd.DataFrame(np.random.random_sample((5,5)))
df["col"] = ["A", "B", "C", "A" ,"B"]
#simple function
def func_apply(df,param=1):
pd.Series(np.random(3)*param,name=str(param))
Now applying the function result in the expected DataFrame
df.groupby('col').apply(func_apply)
1 0 1 2
col
A 0.928527 0.383567 0.085651
B 0.567423 0.668644 0.689766
C 0.301774 0.156021 0.222140
Is there a way to pass a parameter list to the groupby to get something like this?
#Pseudocode...
df.groupby('col').apply(func_apply, params=[1,2,10])
1 0 1 2
par col
1 A 0.928527 0.383567 0.085651
1 B 0.567423 0.668644 0.689766
1 C 0.301774 0.156021 0.222140
2 A 0.526494 1.812780 1.515816
2 B 1.180539 0.527171 0.670796
2 C 1.507721 0.156808 1.695386
10 A 7.986563 5.109876 2.330171
10 B 2.096963 6.804624 2.351397
10 C 6.890758 8.079466 1.725226
Thanks a lot for any hint :)