def __init__(self, id=None, entities=None, relationships=None):
    'Creates EntitySet\n\n            Args:\n                id (str) : Unique identifier to associate with this instance\n\n                entities (dict[str -> tuple(pd.DataFrame, str, str, dict[str -> Variable])]): dictionary of\n                    entities. Entries take the format\n                    {entity id -> (dataframe, id column, (time_index), (variable_types), (make_index))}.\n                    Note that time_index, variable_types and make_index are optional.\n\n                relationships (list[(str, str, str, str)]): List of relationships\n                    between entities. List items are a tuple with the format\n                    (parent entity id, parent variable, child entity id, child variable).\n\n            Example:\n\n                .. code-block:: python\n\n                    entities = {\n                        "cards" : (card_df, "id"),\n                        "transactions" : (transactions_df, "id", "transaction_time")\n                    }\n\n                    relationships = [("cards", "id", "transactions", "card_id")]\n\n                    ft.EntitySet("my-entity-set", entities, relationships)\n        '
    self.id = id
    self.entity_dict = {}
    self.relationships = []
    self.time_type = None
    entities = (entities or {})
    relationships = (relationships or [])
    for entity in entities:
        df = entities[entity][0]
        index_column = entities[entity][1]
        time_index = None
        variable_types = None
        make_index = None
        if (len(entities[entity]) > 2):
            time_index = entities[entity][2]
        if (len(entities[entity]) > 3):
            variable_types = entities[entity][3]
        if (len(entities[entity]) > 4):
            make_index = entities[entity][4]
        self.entity_from_dataframe(entity_id=entity, dataframe=df, index=index_column, time_index=time_index, variable_types=variable_types, make_index=make_index)
    for relationship in relationships:
        parent_variable = self[relationship[0]][relationship[1]]
        child_variable = self[relationship[2]][relationship[3]]
        self.add_relationship(Relationship(parent_variable, child_variable))
    self.reset_data_description()
Creates EntitySet

Args:
    id (str) : Unique identifier to associate with this instance

    entities (dict[str -> tuple(pd.DataFrame, str, str, dict[str -> Variable])]): dictionary of
        entities. Entries take the format
        {entity id -> (dataframe, id column, (time_index), (variable_types), (make_index))}.
        Note that time_index, variable_types and make_index are optional.

    relationships (list[(str, str, str, str)]): List of relationships
        between entities. List items are a tuple with the format
        (parent entity id, parent variable, child entity id, child variable).

Example:

    .. code-block:: python

        entities = {
            "cards" : (card_df, "id"),
            "transactions" : (transactions_df, "id", "transaction_time")
        }

        relationships = [("cards", "id", "transactions", "card_id")]

        ft.EntitySet("my-entity-set", entities, relationships)
def __init__(self, id=None, entities=None, relationships=None):
    'Creates EntitySet\n\n            Args:\n                id (str) : Unique identifier to associate with this instance\n\n                entities (dict[str -> tuple(pd.DataFrame, str, str, dict[str -> Variable])]): dictionary of\n                    entities. Entries take the format\n                    {entity id -> (dataframe, id column, (time_index), (variable_types), (make_index))}.\n                    Note that time_index, variable_types and make_index are optional.\n\n                relationships (list[(str, str, str, str)]): List of relationships\n                    between entities. List items are a tuple with the format\n                    (parent entity id, parent variable, child entity id, child variable).\n\n            Example:\n\n                .. code-block:: python\n\n                    entities = {\n                        "cards" : (card_df, "id"),\n                        "transactions" : (transactions_df, "id", "transaction_time")\n                    }\n\n                    relationships = [("cards", "id", "transactions", "card_id")]\n\n                    ft.EntitySet("my-entity-set", entities, relationships)\n        '
    self.id = id
    self.entity_dict = {}
    self.relationships = []
    self.time_type = None
    entities = (entities or {})
    relationships = (relationships or [])
    for entity in entities:
        df = entities[entity][0]
        index_column = entities[entity][1]
        time_index = None
        variable_types = None
        make_index = None
        if (len(entities[entity]) > 2):
            time_index = entities[entity][2]
        if (len(entities[entity]) > 3):
            variable_types = entities[entity][3]
        if (len(entities[entity]) > 4):
            make_index = entities[entity][4]
        self.entity_from_dataframe(entity_id=entity, dataframe=df, index=index_column, time_index=time_index, variable_types=variable_types, make_index=make_index)
    for relationship in relationships:
        parent_variable = self[relationship[0]][relationship[1]]
        child_variable = self[relationship[2]][relationship[3]]
        self.add_relationship(Relationship(parent_variable, child_variable))
    self.reset_data_description()