Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MINERÍA DE DATOS
# limpiar datos
df['Nombre'] = df['Nombre'].apply(lambda x:
re.sub(r'\d+', '', str(x))) # eliminar números en el
nombre
df['Apellido'] = df['Apellido'].apply(lambda x:
re.sub(r'\d+', '', str(x))) # eliminar números en el
apellido
df = df[df['Nombre'].str.strip() != ''] # eliminar
filas con nombre en blanco
df = df[df['Apellido'].str.strip() != ''] # eliminar
filas con apellido en blanco
df['Edad'] = pd.to_numeric(df['Edad'],
errors='coerce') # convertir Edad a numérico
df = df[df['Edad'] > 0] # eliminar filas con edad
menor o igual a 0
print(df)
# imprimir resultados
print("Nombres repetidos:")
print(nombres_repetidos)
print("\nApellidos repetidos:")
print(apellidos_repetidos)
print("\nEdades repetidas:")
# graficar edades
plt.hist(df['Edad'], bins=10)
plt.xlabel('Edad')
plt.ylabel('Frecuencia')
plt.title('Histograma de edades')
plt.show()
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
// limpiar datos
Pattern pattern = Pattern.compile("\\d+");
for (Row row : sheet) {
if (nombre.isEmpty() || apellido.isEmpty() ||
edad <= 0) {
sheet.removeRow(row);
} else {
nombreCell.setCellValue(nombre);
apellidoCell.setCellValue(apellido);
edadCell.setCellValue(edad);
}
}
System.out.println("Datos limpios:");
for (Row row : sheet) {
Cell nombreCell = row.getCell(0);
String nombre =
nombreCell.getStringCellValue();