def get_feature_data(self, ids=None, features=None, dense=True):
result = self.data<EOL>if ids is not None:<EOL><INDENT>result = result.ix[ids]<EOL><DEDENT>if features is not None:<EOL><INDENT>result = result.ix[:, features]<EOL><DEDENT>return result.to_dense() if dense else result<EOL>
Slices and returns a subset of feature data.

        Args:
            ids (list, array): A list or 1D numpy array of study ids to
                return rows for. If None, returns data for all studies
                (i.e., all rows in array).
            features (list, array): A list or 1D numpy array of named features
                to return. If None, returns data for all features (i.e., all
                columns in array).
            dense (bool): Optional boolean. When True (default), convert the
                result to a dense array before returning. When False, keep as
                sparse matrix. Note that if ids is not None, the returned array
                will always be dense.
        Returns:
          A pandas DataFrame with study IDs in rows and features incolumns.