Skip to content

Commit 65f1a97

Browse files
committed
get_feature_df for dataset
1 parent 820b5bd commit 65f1a97

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

ads/feature_store/dataset.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from ads.feature_store.execution_strategy.execution_strategy_provider import (
2929
OciExecutionStrategyProvider,
3030
)
31+
from ads.feature_store.feature import Feature
3132
from ads.feature_store.feature import DatasetFeature
3233
from ads.feature_store.feature_group_expectation import Expectation
3334
from ads.feature_store.feature_option_details import FeatureOptionDetails
@@ -245,9 +246,20 @@ def id(self) -> str:
245246
"""
246247
return self.get_spec(self.CONST_ID)
247248

249+
@property
250+
def features(self) -> List[Feature]:
251+
return [
252+
Feature(**feature_dict)
253+
for feature_dict in self.get_spec(self.CONST_OUTPUT_FEATURE_DETAILS)[
254+
self.CONST_ITEMS
255+
]
256+
or []
257+
]
258+
248259
def with_id(self, id: str) -> "Dataset":
249260
return self.set_spec(self.CONST_ID, id)
250261

262+
251263
def with_job_id(self, dataset_job_id: str) -> "Dataset":
252264
"""Sets the job_id for the last running job.
253265
@@ -709,6 +721,33 @@ def delete(self):
709721

710722
dataset_execution_strategy.delete_dataset(self, dataset_job)
711723

724+
def get_features(self) -> List[Feature]:
725+
"""
726+
Returns all the features in the dataset.
727+
728+
Returns:
729+
List[Feature]
730+
"""
731+
732+
return self.features
733+
734+
def get_features_df(self) -> "pandas.DataFrame":
735+
"""
736+
Returns all the features as pandas dataframe.
737+
738+
Returns:
739+
pandas.DataFrame
740+
"""
741+
records = []
742+
for feature in self.features:
743+
records.append(
744+
{
745+
"name": feature.feature_name,
746+
"type": feature.feature_type,
747+
"feature_group_id": feature.feature_group_id,
748+
}
749+
)
750+
return pandas.DataFrame.from_records(records)
712751
def update(self, **kwargs) -> "Dataset":
713752
"""Updates Dataset in the feature store.
714753

0 commit comments

Comments
 (0)