Ejemplo n.º 1
0
 def __init__(self, parser, db):
     """Initializes the class with families and individuals"""
     self.parser = parser
     self.db = db
     self.errors = []
     self.tables = []
     self.tables.append(TableHelpers.dataframe2table(self.db.individuals, "Individuals"))
     self.tables.append(TableHelpers.dataframe2table(self.db.families, "Families"))
Ejemplo n.º 2
0
def list_multiple_births(parser, db):
    tables = []
    multiple_birth_children = db.individuals.groupby(['famc','birth'])
    multiple_births = DataFrame({'Children': multiple_birth_children.size()}).reset_index()
    multiple_births = multiple_births[(multiple_births.Children > 1)].rename(columns={'famc':'FamID','birth':'Birthdate'})
    pt = TableHelpers.dataframe2table(multiple_births, "US32: Multiple Births")
    tables.append(pt)
    return tables
Ejemplo n.º 3
0
def list_deceased(parser, db):
    tables = []
    today = date.today()
    individuals = db.individuals
    individuals = individuals.loc[(
        ~individuals["death"].isnull())]  # ~ is the loc equivalent of "not"
    pt = TableHelpers.dataframe2table(individuals,
                                      "US29 - Deceased Individuals")
    tables.append(pt)
    return tables
Ejemplo n.º 4
0
def list_ages(parser, db):
    tables = []
    ages = []
    for indiv in parser.individuals.values():
        if indiv.birth is not None:
            ages.append(DateHelpers.calculate_age(indiv.birth, None))
        else:
            ages.append(None)
    individuals = db.individuals
    individuals["Age"] = pd.Series(ages).values
    newTable = TableHelpers.dataframe2table(individuals,
                                            "US27: Individuals and Ages")
    tables.append(newTable)
    return tables
Ejemplo n.º 5
0
def older_siblings_by_age(parser, db):
    tables = []
    for _, row in db.families.iterrows():
        famID = row["ID"]
        children = db.individuals.loc[db.individuals["famc"] == famID]
        children = children.sort_values(
            by=["birth"], ascending=True)  # Ascending birth dates
        if children.shape[0] > 0:  # if there are more than 0 rows
            pt = TableHelpers.dataframe2table(
                children,
                "US28: Children in Family {} Descending - Oldest First".format(
                    famID))
            tables.append(pt)
    return tables