Al trabajar con vectores es habitual tener que combinarlos. Veamos las opciones que tenemos para concatenar vectores en Julia.
vcat() y hcat()Las funciones estándar para concatenar el contenido de diferentes estructuras de datos en Julia son vcat(), para combinar conjuntos de datos en vertical o por filas, y hcat(), para cuando se desea combinar en horizontal o por columnas. Funciones que también sirven para concatenar DataFrames. Así para concatenar vectores en Julia se debería usar la función vcat() con los vectores a concatenar como parámetros
julia> var1 = [1, 2, 3];
julia> var2 = [4, 5, 6];
julia> vcat(var1, var2)
6-element Vector{Int64}:
1
2
3
4
5
6
En el caso de que se usase la función hcat() no se obtendría un vector, sino una matriz. Ya que los vectores de Julia son verticales por defecto.
julia> hcat(var1, var2)
3×2 Matrix{Int64}:
1 4
2 5
3 6
Solamente se debería usar hcat() cuando el vector ha sido transpuesto previamente.
cat()La función cat() es una generalización de vcat() y hcat() en la que se indica mediante la propiedad dims cuál es la dimensión que se desea concatenar. Siendo 1 el valor para concatenar verticalmente y 2 para horizontal. Esta propiedad debe ser la última que se indique después de los conjuntos de datos a concatenar. Así, para replicar el comportamiento de vcat() se debería hacer.
julia> cat(var1, var2, dims=1)
6-element Vector{Int64}:
1
2
3
4
5
6
Mientras que para replicar el comportamiento de hcat() lo que se debería escribir es:
julia> cat(var1, var2, dims=2)
3×2 Matrix{Int64}:
1 4
2 5
3 6 Pudiendo de esta manera usar una única función para ambos casos y trabajar con más dimensiones cuando es necesario.
En Julia también es posible concatenar vectores y matrices usando corchetes. Una notación compacta que permite ahorrar código. En este caso solamente hay que indicar los objetos dentro de los corchetes, de forma análoga a cómo se crean los vectores, separados por punto y coma, para concatenar verticalmente, o coma, para concatenar horizontalmente. De este modo se puede replicar el funcionamiento de vcat() con la siguiente línea.
julia> [var1; var2]
6-element Vector{Int64}:
1
2
3
4
5
6 Lo que es más compacto que usar cualquiera de las funciones anteriores. Por otro lado, para replicar el funcionamiento de hcat() se podría conseguir con
julia> [var1 var2]
3×2 Matrix{Int64}:
1 4
2 5
3 6 En esta entrada hemos visto algunas opciones que tenemos para concatenar vectores en Julia, una operación sencilla, pero que es necesario hacer de forma habitual.
Imagen de Lubos Houska en Pixabay
En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…
En la serie Creación de una API REST con Express y TypeScript construimos una API…
Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…
En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…
Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…
En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…
This website uses cookies.