使用时,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
)?
我认为您可以使用agg
以字典作为参数的方法。例如:
df = pd.DataFrame({'A': [0, 1, 2], 'B': [3, 4, 5]})
df =
A B
0 0 3
1 1 4
2 2 5
df.agg({'A': 'mean', 'B': sum})
A 1.0
B 12.0
dtype: float64
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句