I have a set of points, and on those points I have used scipy in order to calculate the interpolating polynomial. I wish to have the primitive of that function 

```
self.p=interpolate.interp1d(self.__discreteDistribution['x'], self.__discreteDistribution['y'], kind='cubic')

```

I can easily use scipy to calculate the **value** of the integral over an interval, using 

```
integrate.quad(self.p, 0, max)

```

What I want instead is to have the primitive of self.p().
I have found sympy, but I do not have an analytical version of my interpolating polynomial. 

What would you do in these occasion?