【发布时间】:2018-12-22 18:18:37
【问题描述】:
我对 pandas 还很陌生,甚至无法说明问题,更不用说解决问题了。如果有这样的熊猫数据框:
m = [[1,2,3], [4,2,4], [3,4,5], [2,3,4], [1,5,3], [4,2,5], [3,4,3], [2,1,4], [1,2,3], [4,3,3], [3,2,5], [2,2,4]]
d = pd.DataFrame(m, columns=['key', 'val1', 'val2'])
我想对每一行应用一个自定义函数(例如,val1 ** val2)。然后我想按键聚合(例如,平均值)。最终结果将如下所示:
key result
0 1 47.00
1 2 32.67
2 3 373.33
3 4 19.00
我知道我可以通过使用循环来做到这一点,但我希望以最 Python/pandas 的方式实现这一点:通过按键分组,然后在所有列中应用自定义函数。或者也许最好在所有行中应用自定义函数,然后通过平均聚合按键应用 groupby?
TIA
【问题讨论】: