Пример #1
0
 def get_dataframe(self, columns: Columns = None) -> DataFrame:
     if pd and get_use_objects_for_output():
         dataframe = DataFrame(self.get_items())
         if arg.is_defined(columns):
             columns = arg.get_names(columns)
             dataframe = dataframe[columns]
         return dataframe
Пример #2
0
 def show(self,
          count: Optional[int] = None,
          as_dataframe: Union[bool, Auto] = AUTO) -> Optional[DataFrame]:
     as_dataframe = Auto.acquire(as_dataframe, get_use_objects_for_output())
     if as_dataframe:
         return self.get_dataframe()
     else:
         return self.describe(as_dataframe=False)
Пример #3
0
 def get_dataframe(self, columns: Optional[Iterable] = None) -> DataFrame:
     if pd and get_use_objects_for_output():
         if columns:
             dataframe = DataFrame(self.get_items(), columns=columns)
             columns = arg.get_names(columns)
             dataframe = dataframe[columns]
         else:
             dataframe = DataFrame(self.get_items())
         return dataframe
Пример #4
0
 def describe(self,
              *filters,
              take_struct_from_source: bool = False,
              count: Count = 10,
              columns: Columns = None,
              show_header: bool = True,
              struct_as_dataframe: bool = False,
              separate_by_tabs: bool = False,
              allow_collect: bool = True,
              **filter_kwargs):
     if show_header:
         for line in self.get_str_headers():
             self.log(line)
     example = self.example(*filters, **filter_kwargs, count=count)
     assert isinstance(example, ColumnarMixin)
     if hasattr(self, 'get_struct'):
         expected_struct = self.get_struct()
         source_str = 'native'
     elif take_struct_from_source:
         expected_struct = self.get_source_struct()
         source_str = 'from source {}'.format(self.get_source().__repr__())
     else:
         expected_struct = self.get_detected_struct()
         source_str = 'detected from example items'
     expected_struct = fc.FlatStruct.convert_to_native(expected_struct)
     detected_struct = example.get_detected_struct(count)
     detected_struct.validate_about(expected_struct)
     message = '{} {}'.format(source_str,
                              expected_struct.get_validation_message())
     struct_as_dataframe = struct_as_dataframe and get_use_objects_for_output(
     )
     struct_dataframe = expected_struct.describe(
         as_dataframe=struct_as_dataframe,
         show_header=False,
         logger=self.get_logger(),
         separate_by_tabs=separate_by_tabs,
         example=example.get_one_item(),
         comment=message,
     )
     if struct_as_dataframe:
         return struct_dataframe
     else:
         return example.get_demo_example(
             as_dataframe=get_use_objects_for_output())
Пример #5
0
 def describe(
         self, *filters,
         take_struct_from_source: bool = False,
         count: Count = DEFAULT_SHOW_COUNT,
         columns: Columns = None,
         allow_collect: bool = True,
         show_header: bool = True,
         struct_as_dataframe: bool = False,
         delimiter: str = ' ',
         output=AUTO,
         **filter_kwargs
 ):
     output = Auto.delayed_acquire(output, self.get_logger)
     if show_header:
         for line in self.get_str_headers():
             self.output_line(line, output=output)
     example = self.example(*filters, **filter_kwargs, count=count)
     if hasattr(self, 'get_struct'):
         expected_struct = self.get_struct()
         source_str = 'native'
     elif take_struct_from_source:
         expected_struct = self.get_source_struct()
         source_str = 'from source {}'.format(self.get_source().__repr__())
     else:
         expected_struct = self.get_detected_struct()
         source_str = 'detected from example items'
     expected_struct = fc.FlatStruct.convert_to_native(expected_struct)
     detected_struct = example.get_detected_struct(count)
     assert isinstance(expected_struct, fc.FlatStruct) or hasattr(expected_struct, 'describe'), expected_struct
     assert isinstance(detected_struct, fc.FlatStruct) or hasattr(expected_struct, 'describe'), expected_struct
     detected_struct.validate_about(expected_struct)
     validation_message = '{} {}'.format(source_str, expected_struct.get_validation_message())
     struct_as_dataframe = struct_as_dataframe and get_use_objects_for_output()
     struct_dataframe = expected_struct.describe(
         as_dataframe=struct_as_dataframe, show_header=False, output=output,
         delimiter=delimiter, example=example.get_one_item(), comment=validation_message,
     )
     if struct_as_dataframe:
         return struct_dataframe
     else:
         return example.get_demo_example(as_dataframe=get_use_objects_for_output())
Пример #6
0
 def get_demo_example(
         self, count: int = DEFAULT_SHOW_COUNT,
         as_dataframe: AutoBool = AUTO,
         filters: Optional[Array] = None, columns: Optional[Array] = None,
 ) -> Union[DataFrame, Iterable]:
     as_dataframe = arg.acquire(as_dataframe, get_use_objects_for_output())
     sm_sample = self.filter(*filters or []) if filters else self
     sm_sample = sm_sample.take(count)
     if hasattr(sm_sample, 'get_dataframe') and as_dataframe:
         return sm_sample.get_dataframe(columns)
     elif hasattr(sm_sample, 'select') and columns:
         return sm_sample.select(*columns).get_items()
     elif hasattr(sm_sample, 'get_items'):
         return sm_sample.get_items()
Пример #7
0
 def get_demo_example(
     self,
     count: Count = DEFAULT_EXAMPLE_COUNT,
     filters: Columns = None,
     columns: Columns = None,
     as_dataframe: AutoBool = AUTO,
 ) -> Union[DataFrame, list, None]:
     as_dataframe = arg.acquire(as_dataframe, get_use_objects_for_output())
     sm_sample = self.filter(*filters) if filters else self
     sm_sample = sm_sample.take(count)
     if as_dataframe:
         return sm_sample.get_dataframe(columns)
     elif hasattr(sm_sample, 'get_list'):
         return sm_sample.get_list()