如果我有熊貓這樣一個空的數據框中:爲什麼mean()在空的DataFrame上有不同的行爲?
df = pandas.DataFrame(columns=['a','b','c'])
>>> df
Empty DataFrame
Columns: [a, b, c]
Index: []
和我聚集在團體,輸出將通常是一個空數據幀:
>>> df.groupby('a', as_index=False).sum()
Empty DataFrame
Columns: [a, b, c]
Index: []
我說通常因爲這並非總是如此。它的工作原理這種方式min()
,max()
,sum()
,count()
和quantile()
但不是mean()
,一個引發了一個異常:
>>> df.groupby('a', as_index=False).mean()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/pandas/core/groupby.py", line 666, in mean
return self._cython_agg_general('mean')
File "/usr/local/lib/python2.7/site-packages/pandas/core/groupby.py", line 2358, in _cython_agg_general
new_items, new_blocks = self._cython_agg_blocks(how, numeric_only=numeric_only)
File "/usr/local/lib/python2.7/site-packages/pandas/core/groupby.py", line 2408, in _cython_agg_blocks
raise DataError('No numeric types to aggregate')
pandas.core.groupby.DataError: No numeric types to aggregate
爲什麼是這樣一個聚合函數不同的行爲?
我在Python 2.7上使用熊貓0.14.1。
如果你看看源代碼,你會看到如何創建不同的方法,並稱爲 – 2014-10-10 20:46:06