An example code implementation in Python is as follows.
# 0. Start by importing Numpy and interpolate from Scipy
import numpy as np
from scipy import interpolate
# 1. Get cumulative function
cumulative_generation = np.array([0, 0.5, 2.5, 7.5, 15.5, 25.5, 35.5, 45, 53.5, 60.5, 65.5, 67.5])
hours = np.arange(8, 20)
# 2. Interpolate the cumulative function (Spline interpolation)
interpolator = interpolate.CubicSpline(hours, cumulative_generation)
# 3. Differentiate and substitute.
# For example, differentiate and interpolate the power at 10am:
print(interpolator(10, 1))
# 3.37 is the output of the interpolation at 10am.