def METHOD_NAME(self, samples=[]):
    if callable(samples):
        sampled_data = OrderedDict(item for item in self.data.items()
                                   if samples(item))
    else:
        sampled_data = OrderedDict((s, self.data.get(s, np.NaN)) for s in samples)
    return self.clone(sampled_data)