Example #1
0
def serialize_dfs(dfs: WorkflowDataFrames,
                  how: str = "inner",
                  path="") -> WorkflowDataFrame:
    assert_or_throw(dfs.has_key, "all datarames must be named")
    serialized = WorkflowDataFrames(
        {k: serialize_df(v, k, path)
         for k, v in dfs.items()})
    wf: FugueWorkflow = dfs.get_value_by_index(0).workflow
    return wf.join(serialized, how=how)
Example #2
0
 def add_dfs(self,
             dfs: WorkflowDataFrames,
             how: str = "") -> "TuneDatasetBuilder":
     assert_or_throw(dfs.has_key, "all datarames must be named")
     for k, v in dfs.items():
         if len(self._dfs_spec) == 0:
             self.add_df(k, v)
         else:
             self.add_df(k, v, how=how)
     return self
Example #3
0
    def add_dfs(self,
                dfs: WorkflowDataFrames,
                how: str = "") -> "TuneDatasetBuilder":
        """Add multiple dataframes with the same join type

        :param dfs: dictionary like dataframe collection. The keys
          will be used as the dataframe names
        :param how: join type, can accept ``semi``, ``left_semi``,
          ``anti``, ``left_anti``, ``inner``, ``left_outer``,
          ``right_outer``, ``full_outer``, ``cross``
        :returns: the builder itself
        """
        assert_or_throw(dfs.has_key, "all datarames must be named")
        for k, v in dfs.items():
            if len(self._dfs_spec) == 0:
                self.add_df(k, v)
            else:
                self.add_df(k, v, how=how)
        return self
Example #4
0
 def p2(wf: FugueWorkflow, dfs: WorkflowDataFrames,
        d: int) -> WorkflowDataFrames:
     return WorkflowDataFrames(
         {k: v.process(process, params={"d": d})
          for k, v in dfs.items()})