Exemple #1
0
 def frecuencia_de_palabras(self) -> Dict[str, int]:
     if self._frecuencia_de_palabras is None:
         ms_tex = (m.texto for m in self.mensajes)
         ps = flat_map(ms_tex, lambda x: re.split(sep, x))
         palabras = (p for p in ps
                     if len(p) > 0 and p not in self.palabras_huecas)
         self._frecuencia_de_palabras = groups_size(palabras, fkey=identity)
     return self._frecuencia_de_palabras
Exemple #2
0
 def frecuencia_de_palabras_por_usuario(self) -> Dict[UsuarioPalabra, int]:
     if self._frecuencia_de_palabras_por_usuario is None:
         ms_us_tex = ((m.usuario, m.texto) for m in self.mensajes)
         plsu = (UsuarioPalabra.of(u, p) for u, t in ms_us_tex
                 for p in re.split(sep, t))
         plsuf = (pu for pu in plsu if len(pu.palabra) > 0
                  and pu.palabra not in self.palabras_huecas)
         self._frecuencia_de_palabras_por_usuario = groups_size(plsuf)
     return self._frecuencia_de_palabras_por_usuario
Exemple #3
0
 def numero_de_estaciones_por_bicis_disponibles(self) -> dict[int, int]:
     return groups_size(self.estaciones, lambda e: e.free_bikes)
Exemple #4
0
 def _numero_de_mensajes_por_propiedad(
         self, p: Callable[[Mensaje], P]) -> Dict[P, int]:
     return groups_size(self.mensajes, fkey=p)
Exemple #5
0
 def numero_de_palabras_por_resto_de_usuarios(self) -> Dict[str, int]:
     return groups_size(
         self.frecuencia_de_palabras_por_resto_de_usuarios.items(),
         fkey=lambda e: e[0].usuario)
Exemple #6
0
 def frecuencias_de_palos(self) -> dict[int, int]:
     if not self._frecuencias_de_palos:
         self._frecuencias_de_palos = groups_size(self._cartas,
                                                  fkey=lambda c: c.palo)
     return self._frecuencias_de_palos
Exemple #7
0
 def frecuencias_de_valores(self) -> dict[int, int]:
     if not self._frecuencias_de_valores:
         self._frecuencias_de_valores = groups_size(self._cartas,
                                                    fkey=lambda c: c.valor)
     return self._frecuencias_de_valores
Exemple #8
0
def frecuencias_de_palabras(file: str) -> OrderedDict[str, int]:
    d = groups_size(palabras_no_huecas(file))
    return OrderedDict(sorted(d.items(), key=lambda t: t[0]))