<jupyter_start><jupyter_text><jupyter_code>import pandas as pd
#Uso de counts
jj = pd.Series([67.3, 100, 96.7, None, 100], index=['R', 'P', 'G', 'P', 'B'], name='test2')
print(jj)
print(jj.count()) #Cuenta los valores reales que hay en la Serie
print('--------')
print(jj.value_counts()) #Cuenta las repeticiones de cada valor
print('--------')
print(jj.unique()) #Trae solo los datos que no están repetidos
print('--------')
print(jj.drop_duplicates()) #Quita duplicados
print('--------')
print(jj.duplicated()) #Identificar si aparece ese valor<jupyter_output>4
--------
100.0    2
96.7     1
67.3     1
Name: test2, dtype: int64
--------
[ 67.3 100.   96.7   nan]
--------
R     67.3
P    100.0
G     96.7
P      NaN
Name: test2, dtype: float64
--------
R    False
P    False
G    False
P    False
B     True
Name: test2, dtype: bool
--------
91.0<jupyter_text>**FUNCIONES ESTADISTICAS**<jupyter_code>print(jj.mean()) #Suma todos los valores y nos saca el promedio
print('--------')
print(jj.median()) #Saca la mediana de una Serie
print('--------')
print(jj.quantile(0.5)) #permiten conocer otros puntos característicos de la distribución
print('--------')
print(jj.describe()) #Información más detallada sobre nuestra Serie
print('--------')<jupyter_output>91.0
--------
98.35
--------
98.35
--------
count      4.000000
mean      91.000000
std       15.876398
min       67.300000
25%       89.350000
50%       98.350000
75%      100.000000
max      100.000000
Name: test2, dtype: float64
--------
R    False
P    False
G    False
P     True
B    False
Name: test2, dtype: bool
--------
R     67.3
P    100.0
G     96.7
P     -1.0
B    100.0
Name: test2, dtype: float64
--------
R     67.3
P    100.0
G     96.7
B    100.0
Name: test2, dtype: float64<jupyter_text>**MANEJO CON NAS**<jupyter_code>print(jj.isna()) #Identifica si tiene valores nulos
print('--------')
print(jj.fillna(-1)) #Llena el valor Nan con otro valor
print('--------')
print(jj.dropna()) #Llama a los valores que tienen un valor especifico
print('--------')
print(jj.notnull()) #Verifica que el valor no sea nulo o vacio
print('----COMO LLAMAR A LOS VALORES QUE NO ESTAN VACIOS----')
jj[jj.notnull()]<jupyter_output>R    False
P    False
G    False
P     True
B    False
Name: test2, dtype: bool
--------
R     67.3
P    100.0
G     96.7
P     -1.0
B    100.0
Name: test2, dtype: float64
--------
R     67.3
P    100.0
G     96.7
B    100.0
Name: test2, dtype: float64
--------
R     True
P     True
G     True
P    False
B     True
Name: test2, dtype: bool
----COMO LLAMAR A LOS VALORES QUE NO ESTAN VACIOS----<jupyter_text>**Operaciones con Strings**<jupyter_code>nombres = pd.Series(['Jorge', 'John', 'Paula'])
print(nombres.str.lower()) #Pasa los String en minusculas
print('--------')
print(nombres.str.upper()) #Pasa los String a mayusculas
print('--------')
print(nombres.str.findall('o')) #Encuentra los valores que tengan el parametro<jupyter_output>0    jorge
1     john
2    paula
dtype: object
--------
0    JORGE
1     JOHN
2    PAULA
dtype: object
--------
0    [o]
1    [o]
2     []
dtype: object<jupyter_text>**DATAFRAMES**<jupyter_code>import numpy as np
data = np.array([['', "col1", "col2", "col3", "col4"],
                 ["row1", 11, 22, 33, 44],
                 ["row2", 55, 66, 77, 88],
                 ["row3", 99, 1010, 1111, 1212],
                 ["row4", 1313, 1414, 1515, 1616]])
df = pd.DataFrame(data=data[1:,1:], index=data[1:,0], columns=data[0,1:])
df
print(df)
print(df.shape) #Forma
df['col1']['row1'] #Coordenadas
#Sacar los elementos del Dataframe en diagonal
print('CON LOC')
print(df.loc['row1', 'col1'])
print(df.loc['row2', 'col2'])
print(df.loc['row3', 'col3'])
print(df.loc['row4', 'col4'])
print('CON ILOC')
print(df.iloc[0,0])
print(df.iloc[1,1])
print(df.iloc[2,2])
print(df.iloc[3,3])
for indx in range(4):
  print(df.iloc[indx, indx])
  print(indx)
indices = df.index.to_list()
columnas = df.columns.to_list()
for indx in range(4):
  print(df.loc[indices[indx], columnas[indx]])
for x in range(4):
  print(df.iloc[x,x:])<jupyter_output>col1    11
col2    22
col3    33
col4    44
Name: row1, dtype: object
col2    66
col3    77
col4    88
Name: row2, dtype: object
col3    1111
col4    1212
Name: row3, dtype: object
col4    1616
Name: row4, dtype: object
{'fraction_non_alphanumeric': 0.19206534422403734, 'fraction_numerical': 0.08144690781796966, 'mean_word_length': 2.6445578231292517, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '259444', 'license': 'MIT', 'n_tokens_mistral': 1850, 'n_tokens_neox': 1679, 'n_words': 477, 'path': 'Clase10.ipynb', 'repo_name': 'GabyLeon10100/MujeresDigitales', 'size': '4285'}