<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def read(self, **keys):
 """ Read the data from disk and return as a numpy array """


        if self.is_scalar:
            data = self.fitshdu.read_column(self.columns, **keys)
        else:
            c = keys.get('columns', None)
            if c is None:
                keys['columns'] = self.columns
            data = self.fitshdu.read(**keys)

        return data