10 puntos por xguru 2025-04-09 | 1 comentarios | Compartir por WhatsApp
  • Herramienta basada en Rust para procesar archivos CSV grandes de forma rápida y eficiente desde la terminal
  • Además de varias funciones de manipulación de datos, también ofrece soporte para visualización, gráficos, análisis, web scraping, procesamiento de texto y análisis de redes
  • Internamente aprovecha multithreading, un lenguaje de expresiones y procesamiento en paralelo para lograr alto rendimiento
  • Puede manejar sin problemas archivos CSV gigantes (de varios gigabytes)
  • Incluye un lenguaje de expresiones dedicado mucho más rápido que Python o Lua
  • Permite implementar flujos de datos complejos mediante encadenamiento de comandos en una sola línea
  • Va desde estadísticas simples hasta visualizaciones básicas como mapas de calor e histogramas
  • Incluye funciones avanzadas para investigadores de ciencias sociales y análisis de datos web
  • Compatible con Linux, macOS y Windows
  • Reconoce automáticamente varios formatos como .tsv, .psv, .ssv, .gz

Ejemplos de comandos clave

  • Exploración

    • xan headers: muestra la lista de columnas
    • xan view: ver en formato de tabla desde la terminal
    • xan flatten: desplegar todos los valores de una fila
    • xan hist, xan plot, xan heatmap: funciones de visualización
  • Filtrado y búsqueda

    • xan search -s palabra_clave archivo.csv: buscar filas que contengan una palabra clave
    • xan filter 'expresión_condicional' archivo.csv: filtrar filas con expresiones
  • Transformación

    • xan select: seleccionar columnas
    • xan map: crear una nueva columna con una expresión
    • xan transform: modificar una columna existente con una expresión
  • Agregación y análisis

    • xan count: contar filas
    • xan frequency: generar una tabla de frecuencias
    • xan stats: mostrar estadísticas descriptivas
    • xan agg: agregación definida por el usuario
    • xan groupby: agregar por grupos
  • Ordenamiento y eliminación de duplicados

    • xan sort -s columna: ordenar
    • xan dedup -s columna: eliminar duplicados
  • Combinación

    • xan join: hacer join usando una clave
    • xan merge: fusionar archivos ordenados
    • xan cat: concatenar por filas o columnas
  • Lenguaje de expresiones

    • xan map 'fmt("{} ({})", name, foundation_year)' key
    • xan filter 'batch > 1'
    • xan transform name 'split(name, ".") | first | upper'
    • El lenguaje de expresiones es un DSL ligero especializado en manipular CSV; en la documentación oficial se pueden consultar la chuleta, la lista de funciones y la lista de funciones de agregación
  • Funciones de visualización

    • xan hist: histograma basado en texto
    • xan plot: gráfico de dispersión / gráfico de líneas
    • xan heatmap: mapa de calor de correlación
    • xan view -p: mostrar la tabla completa en la terminal

Funciones avanzadas

  • Soporte completo para pipelines de entrada/salida estándar
  • Procesamiento automático de archivos comprimidos con gzip
  • DSL de scraping integrado (HTML → CSV)
  • Soporte para lexicometry y fuzzy matching: tokenize, vocab, cluster
  • Transformación de redes/matrices: network, matrix

1 comentarios

 
halfenif 2025-04-09

Me preguntaba cómo se podría aprovechar, pero incluso usar solo sort o drop ya tendría sentido.