# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3 (ipykernel)
#     language: python
#     name: python3
# ---

import pandas as pd
import json

file = 'gdb_females.csv'

df = pd.read_csv(file, encoding='utf-8')

len(df)

df['clean_name3'] = df['clean_name2'].apply(lambda x: x.replace('[', '').replace(']', '').replace("'", "").replace(', ', ' '))

iguales = {
    'santa rosa': ['santa rosa lima',
                   'santa rosa (auxiliar)',
                   'rosa america'],
    'santa maria angeles': ['maria angeles'],
    'micaela bastidas': ['bastidas',
                         'malecon bastidas'],
    'santa maria': ['santa maria reyna',
                    'santa maria reina',
                    'maria auxiliadora'],
    'clorinda matto turner': ['clorinda malto'],
    'santa teresa': ['santa teresa (calle 8)'],
    'santa ana': ['santa anita'],
    'elvira garcia garcia': ['alameda elvira garcia garcia',
                             'elvira garcia gracia'],
    'angelica gamarra': ['salida a angelica gamarra']
}

no_mujeres = [
    'libertad',
    'marina',
    'tingo maria',
    'belen',
    'merced',
    'esperanza',
    'victoria',
    'esmeralda',
    'rio santa',
    '<NAME>',
    'santa fe',
    'agua marina',
    'irlanda',
    'mar coral',
    'marbella',
    'nueva esperanza',
    'bajada agua dulce',
    'mercedes',
    '<NAME>',
    'alameda arco iris',
    'caridad',
    'villa mercedes',
    'alheli',
    'soledad',
    'grecia',
    'nevado sara sara',
    'santa',
    'iris',
    'amarilis',
    'america',
    'marina (auxiliar)',
    'florencia',
    'villa maria',
    'estrella',
    'lourdes',
    'nieves',
    'azucena',
    'perla',
    'merino reyna',
    'rio santa martha',
    'rio elba',
    '<NAME>',
    'talavera reina',
    'agua dulce',
    'cristal'
]

df2 = df[~df['clean_name3'].isin(no_mujeres)].reset_index(drop=True)

iguales2 = {}
for key, lst in iguales.items():
    for item in lst:
        iguales2[item] = key

df2['clean_name3'] = df2['clean_name3'].replace(iguales2)

tabulacion = df2['clean_name3'].value_counts()

tabulacion = tabulacion.reset_index().rename(columns={'clean_name3': 'total', 'index': 'nombre'})

tabulacion.to_csv('tabulacion_nombres_mujeres.csv', index=False, encoding='utf-8')


def nombre_santa(text):
    
    if text[:6] == 'santa ' or text[:4] == 'sor ' or text[:7] == 'virgen ':
        return 'santa'
    else:
        return 'no santa'


tabulacion['santa'] = tabulacion['nombre'].apply(nombre_santa)

tabulacion2 = tabulacion['santa'].value_counts().reset_index().rename(columns={'santa': 'total', 'index': 'categoria'})

tabulacion2.to_csv('tabulacion_nombres_hombres_santas.csv', index=False, encoding='utf-8')

StarcoderdataJupyterScriptsDedupFiltered