Está en la página 1de 8

2A1.

Cálculo de frecuencias a nivel de un carácter


1. Calcular las frecuencias a nivel de un carácter, de los documentos text_1 al text_5 y generar los
histogramas para cada archivo. Para generar las gráficas, ordenar los caracteres de acuerdo a su
frecuencia, de mayor a menor frecuencia en el histograma.

2. Interpretar cada histograma en referencia a qué caracteres destacan y dar indicios por qué ocurren
esas observaciones. ¶

NOTA: Considerar todos los símbolos y convertir el texto a minúsculas

----------------------------------------------- Texto 1 ------------------------------------------


--------

Apertura de Archivos
In [1]: #Importar libreria
import io

#Texto 1
text_1 = io.open("./datasets/text_1.txt", "r", encoding="UTF-8").readlines()

#Texto 2
text_2 = io.open("./datasets/text_2.txt", "r", encoding="UTF-8").readlines()

#Texto 3
text_3 = io.open("./datasets/text_3.txt", "r", encoding="UTF-8").readlines()

#Texto 4
text_4 = io.open("./datasets/text_4.txt", "r", encoding="UTF-8").readlines()

#Texto 5
text_5 = io.open("./datasets/text_5.txt", "r", encoding="UTF-8").readlines()
In [2]: text_1

Out[2]: ['Cantata a Satanás\n',

'Abraham amaba a Sara cada mañana clara: pasaba la manaza, arañaba la lana, arrancaba la bata, la abraz
aba; clavaba las garras hasta matarla. Sara atarantada\n',

'callaba harta, Abraham la cansaba. «Ya nada habrá —mascaba tras la sábana—, ama a la mala; ataca, apla
sta, brama». Abraham acababa, apartaba la cara, jamás apagaba la flama a Sara, gran dama avasallada; dab
a palmadas a la santa, la llamaba «alma»; mas jamás la agradaba. Fracasaba la casa blanca, la sagrada pa
z. Sara maltrataba a Abraham: «¿Habrá raza más mala para la cama?», ladraba. Abraham agarraba la gargant
a a la casta casada, la arrastraba a la sala. Sara sacaba las palabras más bravas, las dagas pasmaban la
faz al papanatas. La batalla avanzaba hasta alarmar a Satanás. «¡Sarna! ¡Alacrán fatal!», bramaba Abraha
m. «¡Can! ¡Patán anal!», balaba Sara. Más avanzada la mañana, para hallar más armas arrasaban la casa; a
la par lanzaban lámparas, tazas, navajas hasta sangrar. Para acabar la tanda, las almas atajaban las bra
vatas, tragaban carcajadas amargas, ataban máscaras aplacadas a la cara. «Anda, haragán, a trabajar para
ganar la plata», cantaba avara Sara, amarrada a la más vana maldad: mandar para calmar la falta, agachar
al canalla, calar más. Abraham, fantasmal facha, agarra la pala, zafa la aldaba, baja a la calzada, pasa
la barranca hasta hallar la cabaña. Allá pagaban tan mal; mas Abraham cargaba las trancas más anchas, al
zaba las bardas más altas, amasaba argamasa, clavaba tablas, trazaba largas zanjas. Trabajaba hasta abar
atar la paga. Magna transa. Tan gran afán para nada, la grasa baña las barbas a Abraham; mas la talla na
da más agranda la panza al capataz. Sara ajada, más flaca cada mañana, lavaba la casa: arrancaba a las s
ábanas manchas, canas, caspa; al alzar la sala hallaba cáscaras, naranjas, tazas rajadas, latas achatada
s. Asaba papas, adaptaba las aspas para machacar calabazas, aplanaba la masa, la salaba. Al planchar las
maltratadas faldas aplastaba arañas; raspaba las manchadas bragas; mataba ratas para acabar la plaga. «A
braham — habla Sara— jamás arma las trampas. Las ratas a manadas traspasan la alambrada, a tarascadas at
acan las patas a la cama, tragan la pasta... ¡Ah, malvada parca! Basta ya, basta ya. Nada salvará a Sar
a. Nada. Nada». Al trabajar, jamás manaban palabras gratas. Cansada, harta, la gran dama nada amaba. Mas
acrar a las ratas, matar a Abraham tramaba; mas apagada, blanda, lanzada al drama, nada hallaba para mar
char a la paz, acabar la maraña, traspasar tanta trastada, dar mañas al plan. Sara bajaba a la plaza, an
daba al altar, llamaba para aval a Satanás, trazaba rara cábala. Las campanas acallaban las palabras; ma
s daban alas para pactar. Sara bramaba: «¿Valdrán las afamadas almas tanta mala pasada?» Satán tardaba p
ara cazar más barata a Sara, para lanzarla al mar. La amargada dama avanzaba más gradas; para jalar la b
alanza alzaba las palmas, aclaraba la ganga: «Vas a ganar —clamaba—, vas a ganar». A tanta llamada, Sata
nás da la cara; alarga la gran carta. Sara la agarra, la halla banal, payasa, larga; mas labra la palabr
a Sara para agradar a Satanás. La Gran Cabra atrapa la carta, la lacra; saca la caja, alza la tapa, salt
an salamandras, da a Sara la bala para sanar: «Marcha a la carpa —manda —, allá hallarás blanda paja, gr
an galán para la carnal falta». Sara arranca a la plaza, va a casa a amarrar la faja para bajar la panz
a; va a lavar las lagañas, la mala facha para amar al galán. Saca alpaca, aparta sayal, agarra canasta.
«A la carga», canta. Va a la carpa. Al pasar arrabal halla a la banda Atla’s Hampa . La Llaman: «Acá, ch
aparra». «Ancla las patas, pásalas». «¿Vas al jacal, chata?» Sara, la cara grana, avanza a zancadas, va
más atrabancada.\n',

'Atrás la banda la aclama. Sara halla a Baltasar. Charlan: «Ah... ¿Satanás manda?» «Ajá». Pasan la cáma
ra, atrancan la chapa, tragan pasas, alzan la garrafa, danzan. Baltasar saca a Sara la capa, la falda, l
as mallas. Apagan la lámpara, aplastan la manta, acatan la carta: gran cascada, gran catarata. Alta parv
ada, sacras arpas. «Baltasaaar!» «¡Saaara!» Caravana malva, gas nácar. «¡Bárbara Sara!» «¡Cabal Baltasa
r!» Baltasar halaga a Sara, da alhajas, ámbar, ágatas; la abraza,la llama hada; saca la palangana, la ba
ña. Baltasar la ama. Abraham trabajaba. Al acabar la zanja va al bar. Jala la banca, agarra la jarra, pa
rla nasal al capataz: «¡Vaya acanalada!, hasta la pala gasta». «Bah, tamaña pala para arar... Pasa la ca
na.» «Allá va.» «Ah...» Abraham baja la cara a la manga. «Pasa a la chava.» Abraham agarra la chanza: «A
h... ¿a la arrastrada? Nada más ladra... Mañana, zas». «Pásala.» «¿A la amarga Sara?, ya vas...» «¿Vas a
casa?» «Jamás.» Abraham más capataz arman la parranda, claman: «Más jarras, más». Acabada la hazaña, Sar
a apalabra a Baltasar. Van a la casa blanca. Hallan acampada a la banda Atla’s Hampa tras la barranca; S
ara va amparada: la banda calla. Baltasar carga la canasta a Sara. Alcanzan la calzada, pasan a la casa.
Hallan a Abraham hasta atrás, mala cara, faz atada. «Ah, vaca malvada —brama—, chacal para bacanal.» Abr
aham alza la pala. Sara salta para atrás. Baltasar avanza: «¡Calma gañán!» Abraham saca larga daga. Sata
nás atrasa a Baltasar, da armas. Salta la bala Mata a Abraham. Las babas atascan las palabras. Abraham v
a al más allá. Sara calma a Baltasar. Cavan gran zanja a la sala para lanzar al carcamal. Sara alaba la
talla a Baltasar. Van a la cama, jalan la manta. La mañana aclara las gargantas, cantan, danzan. Baltasa
r abraza a Sara: «Amada hada», la llama.\n']

Remover Caracteres especiales y Transformar a Minúsculas


In [3]: import re

rce_text1 = ""

for char in text_1:
rce_text1 += re.sub(r"[^a-zA-Z0-9]","",char)

min_text1 = rce_text1.lower()
In [4]: min_text1

Out[4]: 'cantataasatanasabrahamamabaasaracadamananaclarapasabalamanazaaranabalalanaarrancabalabatalaabrazabaclav
abalasgarrashastamatarlasaraatarantadacallabahartaabrahamlacansabayanadahabramascabatraslasabanaamaalama
laatacaaplastabramaabrahamacababaapartabalacarajamasapagabalaflamaasaragrandamaavasalladadabapalmadasala
santalallamabaalmamasjamaslaagradabafracasabalacasablancalasagradapazsaramaltratabaaabrahamhabrarazamasm
alaparalacamaladrabaabrahamagarrabalagargantaalacastacasadalaarrastrabaalasalasarasacabalaspalabrasmasbr
avaslasdagaspasmabanlafazalpapanataslabatallaavanzabahastaalarmarasatanassarnaalacranfatalbramabaabraham
canpatananalbalabasaramasavanzadalamananaparahallarmasarmasarrasabanlacasaalaparlanzabanlamparastazasnav
ajashastasangrarparaacabarlatandalasalmasatajabanlasbravatastragabancarcajadasamargasatabanmascarasaplac
adasalacaraandaharaganatrabajarparaganarlaplatacantabaavarasaraamarradaalamasvanamaldadmandarparacalmarl
afaltaagacharalcanallacalarmasabrahamfantasmalfachaagarralapalazafalaaldababajaalacalzadapasalabarrancah
astahallarlacabanaallapagabantanmalmasabrahamcargabalastrancasmasanchasalzabalasbardasmasaltasamasabaarg
amasaclavabatablastrazabalargaszanjastrabajabahastaabaratarlapagamagnatransatangranafanparanadalagrasaba
nalasbarbasaabrahammaslatallanadamasagrandalapanzaalcapatazsaraajadamasflacacadamananalavabalacasaarranc
abaalassabanasmanchascanascaspaalalzarlasalahallabacascarasnaranjastazasrajadaslatasachatadasasabapapasa
daptabalasaspasparamachacarcalabazasaplanabalamasalasalabaalplancharlasmaltratadasfaldasaplastabaaranasr
aspabalasmanchadasbragasmatabaratasparaacabarlaplagaabrahamhablasarajamasarmalastrampaslasratasamanadast
raspasanlaalambradaatarascadasatacanlaspatasalacamatraganlapastaahmalvadaparcabastayabastayanadasalvaraa
saranadanadaaltrabajarjamasmanabanpalabrasgratascansadahartalagrandamanadaamabamasacraralasratasmataraab
rahamtramabamasapagadablandalanzadaaldramanadahallabaparamarcharalapazacabarlamaranatraspasartantatrasta
dadarmanasalplansarabajabaalaplazaandabaalaltarllamabaparaavalasatanastrazabararacabalalascampanasacalla
banlaspalabrasmasdabanalasparapactarsarabramabavaldranlasafamadasalmastantamalapasadasatantardabaparacaz
armasbarataasaraparalanzarlaalmarlaamargadadamaavanzabamasgradasparajalarlabalanzaalzabalaspalmasaclarab
alagangavasaganarclamabavasaganaratantallamadasatanasdalacaraalargalagrancartasaralaagarralahallabanalpa
yasalargamaslabralapalabrasaraparaagradarasatanaslagrancabraatrapalacartalalacrasacalacajaalzalatapasalt
ansalamandrasdaasaralabalaparasanarmarchaalacarpamandaallahallarasblandapajagrangalanparalacarnalfaltasa
raarrancaalaplazavaacasaaamarrarlafajaparabajarlapanzavaalavarlaslaganaslamalafachaparaamaralgalansacaal
pacaapartasayalagarracanastaalacargacantavaalacarpaalpasararrabalhallaalabandaatlashampalallamanacachapa
rraanclalaspataspasalasvasaljacalchatasaralacaragranaavanzaazancadasvamasatrabancadaatraslabandalaaclama
sarahallaabaltasarcharlanahsatanasmandaajapasanlacamaraatrancanlachapatraganpasasalzanlagarrafadanzanbal
tasarsacaasaralacapalafaldalasmallasapaganlalamparaaplastanlamantaacatanlacartagrancascadagrancatarataal
taparvadasacrasarpasbaltasaaarsaaaracaravanamalvagasnacarbarbarasaracabalbaltasarbaltasarhalagaasaradaal
hajasambaragataslaabrazalallamahadasacalapalanganalabanabaltasarlaamaabrahamtrabajabaalacabarlazanjavaal
barjalalabancaagarralajarraparlanasalalcapatazvayaacanaladahastalapalagastabahtamanapalaparaararpasalaca
naallavaahabrahambajalacaraalamangapasaalachavaabrahamagarralachanzaahalaarrastradanadamasladramananazas
pasalaalaamargasarayavasvasacasajamasabrahammascapatazarmanlaparrandaclamanmasjarrasmasacabadalahazanasa
raapalabraabaltasarvanalacasablancahallanacampadaalabandaatlashampatraslabarrancasaravaamparadalabandaca
llabaltasarcargalacanastaasaraalcanzanlacalzadapasanalacasahallanaabrahamhastaatrasmalacarafazatadaahvac
amalvadabramachacalparabacanalabrahamalzalapalasarasaltaparaatrasbaltasaravanzacalmagananabrahamsacalarg
adagasatanasatrasaabaltasardaarmassaltalabalamataaabrahamlasbabasatascanlaspalabrasabrahamvaalmasallasar
acalmaabaltasarcavangranzanjaalasalaparalanzaralcarcamalsaraalabalatallaabaltasarvanalacamajalanlamantal
amananaaclaralasgargantascantandanzanbaltasarabrazaasaraamadahadalallama'
Conteo
In [5]: #Importar librería
from collections import Counter

#Realizar el conteo de los diferentes caracteres
c = Counter(min_text1)

In [6]: c

Out[6]: Counter({'c': 153,

'a': 1863,

'n': 202,

't': 155,

's': 296,

'b': 180,

'r': 338,

'h': 74,

'm': 158,

'd': 97,

'l': 381,

'p': 112,

'z': 51,

'v': 42,

'g': 71,

'y': 7,

'j': 33,

'f': 18})

Ordenamiento de mayor a menor


In [7]: #Importar libreria
import operator

#Ordenamiento
sortedDict = sorted(c.items(), key=operator.itemgetter(1), reverse=True)

#Conversión a diccionario
s = dict(sortedDict)

In [8]: s

Out[8]: {'a': 1863,

'l': 381,

'r': 338,

's': 296,

'n': 202,

'b': 180,

'm': 158,

't': 155,

'c': 153,

'p': 112,

'd': 97,

'h': 74,

'g': 71,

'z': 51,

'v': 42,

'j': 33,

'f': 18,

'y': 7}

Valores y Atributos
In [9]: #Diccionario con los caracteres existentes
x_text1 = s.keys()

#Diccionario con el conteo de los caracteres
y_text1 = s.values()
In [10]: x_text1

Out[10]: dict_keys(['a', 'l', 'r', 's', 'n', 'b', 'm', 't', 'c', 'p', 'd', 'h', 'g', 'z', 'v', 'j', 'f', 'y'])

In [11]: y_text1

Out[11]: dict_values([1863, 381, 338, 296, 202, 180, 158, 155, 153, 112, 97, 74, 71, 51, 42, 33, 18, 7])

Gráfica
In [12]: import matplotlib.pyplot as plt
%matplotlib inline

plt.bar(x_text1,y_text1)
plt.show()

Interpretación Resultados

En base a los resultados obtenidos, se observa en el gráfico que el caracter que más se utiliza es la
letra 'a' con un total de 1863 veces, ésto por que la mayoría de las palabras están basadas en la letra
'a', seguido de las letras l, r, s; con lo cual se puede denotar que la mayoría de las palabras están
formadas de dichos caracteres como base.

In [ ]: ​

También podría gustarte