<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def facets_area(self):
 """ Return an array containing the area of each facet. Returns --------- area : (len(self.facets),) float Total area of each facet (group of faces) """

        # avoid thrashing the cache inside a loop
        area_faces = self.area_faces
        # sum the area of each group of faces represented by facets
        # use native python sum in tight loop as opposed to array.sum()
        # as in this case the lower function call overhead of
        # native sum provides roughly a 50% speedup
        areas = np.array([sum(area_faces[i])
                          for i in self.facets],
                         dtype=np.float64)
        return areas