
    \!h                     |    S SK r S SKrS SKrS SKrS SKJr  S SKJr  \R                  S::  a  \
" S5      eSS jrS rg)	    N)Version)__version__)   r   z\Sorry, the text.names module is incompatible with Python 2.x, due to its unicode intricaciesc           	      J   Su  p4SnU R                  5       n / SQnU HN  nU R                  U5      (       d  M  UR                  SS5      nX[        U5      S-
  S R	                  5       -   n MP     / SQnU H(  nU R                  USUR                  SS5      -   5      n M*     S	U ;   a  XCpCU R                  S	S5      n SnU R                  5       n	[        U	5      S
:  a  U	S   < SX   < 3n [        R                  R                  S
:X  a  U R                  S5      n SR                  S [        R                  " SU 5       5       5      n [        R                  " SU 5      n
U
(       a-  U
R                  U5      < U< U
R                  U5      SU < 3nOU nUR	                  5       nU$ )aJ  Generalize a person's first and last name.

Description : Returns a person's name in the format
`<last_name><separator><firstname letter(s)> (all lowercase)`

Parameters
----------
name : `str`
    Name of the player
output_sep : `str` (default: ' ')
    String for separating last name and first name in the output.
firstname_output_letters : `int`
    Number of letters in the abbreviated first name.

Returns
----------
gen_name : `str`
    The generalized name.

Examples
-----------
For usage examples, please see
https://rasbt.github.io/mlxtend/user_guide/text/generalize_names/

)lastfirst)zvan der zde zvan zvon zdi      N)
z	 van der z de z van z von z di z
, van der z, dez, van z, von z, di ,   r   zutf-8c              3   X   #    U  H   nU[         R                  S -   ;   d  M  Uv   M"     g7f)r
   N)stringascii_letters).0xs     eC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\mlxtend/text/names.py	<genexpr>#generalize_names.<locals>.<genexpr>^   s,      4A$$s** 	
4s   *	*NFKDz(?P<first>\w+)\W+(?P<last>\w+))lower
startswithreplacelenstripsplitsysversion_infomajordecodejoinunicodedata	normalizerematchgroup)name
output_sepfirstname_output_lettersr   r   last_posexcereplsplmoutputgen_names                r   generalize_namesr3      s   6 "KDH::<D 5C??199S"%Ds1vz|,2244D 
C ||AsQYYsB%778  d{e||C$
**,C
3x!|a&#-0 "{{7#77 &&vt4 D 	2D9AGGDMGGEN445
 ||~HO    c           	         U R                  5       nUR                  U/SS9  X!   R                  [        5      X!'   [	        [
        5      [	        S5      :  aL  [        X"R                  USS9   R                  5      [        X"R                  USS9   R                  5      -   nOK[        X"R                  USS9   R                  5      [        X"R                  USS9   R                  5      -   nSn[        U5      S:  a  U H)  n[        U R                  XQ4   US	9UR                  XQ4'   M+     [	        [
        5      [	        S5      :  aL  [        X"R                  USS9   R                  5      [        X"R                  USS9   R                  5      -   nOK[        X"R                  USS9   R                  5      [        X"R                  USS9   R                  5      -   nUS
-  n[        U5      S:  a  M  U$ )a  Generalizes names and removes duplicates.

Description : Applies mlxtend.text.generalize_names to a DataFrame
with 1 first name letter by default
and uses more first name letters if duplicates are detected.

Parameters
----------
df : `pandas.DataFrame`
    DataFrame that contains a column where
    generalize_names should be applied.
col_name : `str`
    Name of the DataFrame column where `generalize_names`
    function should be applied to.

Returns
----------
df_new : `str`
    New DataFrame object where generalize_names function has
    been applied without duplicates.

Examples
-----------
For usage examples, please see
https://rasbt.github.io/mlxtend/user_guide/text/generalize_names_duplcheck/

T)subsetinplacez0.17r   )r6   keepr   r   r   )r*   r   )copydrop_duplicatesapplyr3   r   pandas_versionlist
duplicatedindexr   loc)dfcol_namedf_newduplfirstname_lettersidxs         r   generalize_names_duplcheckrG   s   s   8 WWYF
8*d;'--.>?F~0$$H6$BCII
)))HIOOPQ $$H6$BCII
)))HIOOPQ 
d)a-C(8s}%@Q)FJJs}%  >"WV_4((v(FGMMV--XG-LMSSTUD ((v(FGMMV--XG-LMSSTUD 	Q d)a- Mr4   )r
   r   )r%   r   r   r#   packaging.versionr   pandasr   r<   r   ImportErrorr3   rG    r4   r   <module>rL      sE    
  
  % 0v
	* Vr:r4   