Я хочу вычислить среднее значение абсолютного значения сгруппированного объекта.среднее значение абсолютной величины groupby object pandas
I.e.
grouped = df.groupby([pd.TimeGrouper(3MS)])
dct['x'] = grouped['profit'].agg('mean')/grouped['cost'].abs().agg('mean')
Однако приведенный выше код приводит к ошибке. Я пробовал различные варианты вышеуказанного кода, но до сих пор все они приводят к ошибкам.
Должен быть простой способ сделать это.
Update:
Это dataframe, что группируется VI pd.TimeGrouper (3 мс). Я хочу принять абсолютное значение стоимости столбца 1, а затем вычислить среднее значение.
cost1 cost2 cost3 cost4
date
2016-03-31 -490.60 -118.10 -344.87 -91.44
2016-04-30 -188.74 -55.99 -259.23 -75.16
2016-05-31 -158.62 -43.58 -176.37 -21.98
Я пытался сделать grouped['cost1'].abs().mean()
, но я получил:
/Users/User1/anaconda/lib/python2.7/site-packages/pandas/core/groupby.pyc in __getattr__(self, attr)
493 return self[attr]
494 if hasattr(self.obj, attr):
--> 495 return self._make_wrapper(attr)
496
497 raise AttributeError("%r object has no attribute %r" %
/Users/User1/anaconda/lib/python2.7/site-packages/pandas/core/groupby.pyc in _make_wrapper(self, name)
507 "using the 'apply' method".format(kind, name,
508 type(self).__name__))
--> 509 raise AttributeError(msg)
510
511 # need to setup the selection
AttributeError: ("Cannot access callable attribute 'abs' of 'SeriesGroupBy' objects, try using the 'apply' method", u'occurred at index 0')
можете ли вы разместить некоторые данные образца и какова ваша ошибка? В противном случае мы догадываемся, что здесь не так. – ako
Я добавил информацию, которую вы предложили. Спасибо за предложение помочь. – codingknob