【发布时间】:2014-12-13 13:47:15
【问题描述】:
当使用df.mean() 时,我得到一个结果,其中给出了每列的平均值。现在假设我想要第一列的平均值和第二列的总和。有没有办法做到这一点?我不想拆卸和重新组装DataFrame。
我最初的想法是按照pandas.groupby.agg() 的方式做一些事情,如下所示:
df = pd.DataFrame(np.random.random((10,2)), columns=['A','B'])
df.apply({'A':np.mean, 'B':np.sum}, axis=0)
Traceback (most recent call last):
File "<ipython-input-81-265d3e797682>", line 1, in <module>
df.apply({'A':np.mean, 'B':np.sum}, axis=0)
File "C:\Users\Patrick\Anaconda\lib\site-packages\pandas\core\frame.py", line 3471, in apply
return self._apply_standard(f, axis, reduce=reduce)
File "C:\Users\Patrick\Anaconda\lib\site-packages\pandas\core\frame.py", line 3560, in _apply_standard
results[i] = func(v)
TypeError: ("'dict' object is not callable", u'occurred at index A')
但这显然行不通。似乎传递 dict 是一种直观的方式,但还有另一种方式(同样无需拆卸和重新组装DataFrame)?
【问题讨论】: