<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def extractData(self):
 """ return `self` with extracted data as `numpy array` Extract the data of the columns and parameters of `self.kws` and put them in a :np:func:`array` with all columns as columns or parameters as columns. If columns and parameters are requested at the same then each column is one row and all parameters are in the last row. This :np:func:`array` is saved in ``h5data``. .. note:: If you mix types (e. g. float and str) then the minimal fitting type is taken for all columns. .. warning:: Non float types need `sdds` as an extra dependency :return: instance of itself :Example: One column of the watch element array([[1]]) Two columns of the watch element array([[0, 1], [1, 2], [2, 1]]) Two columns of the watch element and one parameter. The columns transform to rows and the parameter row is at the end. Furthermore all elements are strings, because the type of `PreviousElementName` is str and not float. array([['0', '1', '2'], ['1', '2', '1'], ['DR01']]) """

        if SDDS_:
            columns = self.sddsobj.columnName
            parameters = self.sddsobj.parameterName
            data = [self.sddsobj.columnData[columns.index(col)][0]
                    for col in self.kwslist if col in columns]
            data.append([self.sddsobj.parameterData[parameters.index(par)][0]
                        for par in self.kwslist if par in parameters])
            self.h5data = np.array(filter(None, data)).T
        else:
            for k in self.kwslist:
                self.dcmdline += ' -col={kw},format={p}'.format(kw=k, p=self.precision)
            cmdlist = ['bash', self.dscript, self.dpath, self.dcmdline]
            retlist = []
            proc = subprocess.Popen(cmdlist, stdout=subprocess.PIPE)
            for line in proc.stdout:
                retlist.append([float(i) for i in line.split()])
            self.h5data = np.array(retlist)
        return self