Based on the error message self.dataList is empty and cannot be used in np.random.choice:
a = np.random.randn(0)
np.random.choice(a, size=10, replace=True)
> ValueError: 'a' cannot be empty unless no samples are taken