Article image
Lucas Ribeiro
Lucas Ribeiro14/05/2024 21:59
Compartilhe

Além das Dimensões: Desbravando Matrizes Multidimensionais com Numpy

    Introdução

    Matrizes multidimensionais em numpy são como arranjos de dados organizados em várias dimensões. Elas são a espinha dorsal de muitas operações de ciência de dados e aprendizado de máquina, permitindo lidar com conjuntos de dados complexos de forma eficiente.

    Podemos identificar a quantidade de dimensões que uma matriz possui com funções próprias ou contando os colchetes finais do código.

    image

    Com o numpy, você pode criar matrizes de multidimensional em um piscar de olhos! Aqui está um exemplo de código para criar matrizes de 2D a 4D:

    
    import numpy as np
    
    # 2D
    matrix_2d = np.array([[1, 2, 3], [4, 5, 6]])
    
    # 3D
    matrix_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    
    # 4D
    matrix_4d = np.array([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], [[[9, 10], [11, 12]], [[13, 14], [15, 16]]]])
    

    Podemos preencher as matrizes criadas com placeholders, sejam eles zeros ou uns com as funções próprias do numpy. Verificamos isso logo abaixo:

    
    import numpy as np
    
    # Cria uma matriz 2x3 preenchida com zeros
    zeros_matrix = np.zeros((2, 3))
    
    

    image

    Você pode fazer todo tipo de aritmética com essas matrizes. Isso inclui, soma, subtração, multiplicação e divisão entre outras. Podem ser facilmente aplicadas e possuem muitas utilidades. Podemos observar cada operação no código abaixo:

    import numpy as np
    
    # Matriz 3D A
    matrix_3d_a = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    
    # Matriz 3D B
    matrix_3d_b = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])
    
    # Soma
    result_sum_3d = matrix_3d_a + matrix_3d_b
    
    # Subtração
    result_sub_3d = matrix_3d_a - matrix_3d_b
    
    # Multiplicação
    result_mul_3d = matrix_3d_a * matrix_3d_b
    
    # Divisão
    result_div_3d = matrix_3d_a / matrix_3d_b
    

    image

    Às vezes, você precisa fazer operações em uma matriz baseadas em outra matriz. Veja como fazer isso:

    
    import numpy as np
    
    
    # Criando duas matrizes 3D
    matrix_3d_a = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    matrix_3d_b = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])
    
    # Exibindo o resultado
    print("Matriz A:")
    print(matrix_3d_a)
    
    print("\nMatriz B:")
    print(matrix_3d_b)
    
    print("\nResultado da multiplicação elemento a elemento:")
    print(result_multiply)
    
    # Resultado
    # [[[  9  20]
    #   [ 33  48]]
    #
    #  [[ 65  84]
    #   [ 91 128]]]
    

    Conclusão

    Gostou desse breve mergulho no mundo das matrizes multidimensionais em numpy? Surpresa! todo esse artigo foi gerado por uma inteligência artificial, sendo revisado por humanos 😯. Incrível pensar que a base disso são as matrizes, não é?

    #DataScience #Numpy #Python

    Compartilhe
    Comentários (1)
    Alexandre Kranz
    Alexandre Kranz - 14/05/2024 23:32

    Muito interessante esta questão multidimensional.

    Uma matriz 4D pode ser um conceito um pouco abstrato para nossa percepção no mundo real, já que estamos acostumados a pensar em três dimensões espaciais (comprimento, largura e altura). No entanto, podemos tentar fazer uma analogia para entender melhor como seria uma matriz 4D em relação aos objetos tridimensionais que encontramos no nosso cotidiano.

    Imagine um objeto tridimensional, como uma caixa. Podemos descrever essa caixa em termos de suas dimensões: comprimento, largura e altura. Agora, vamos adicionar uma quarta dimensão: o tempo.

    Uma matriz 4D poderia representar, por exemplo, a variação dessa caixa ao longo do tempo. Cada "slice" da matriz em uma dimensão representaria o estado da caixa em um momento específico no tempo.

    Por exemplo, no instante t1, a caixa pode estar vazia. No instante t2, pode estar parcialmente preenchida. No instante t3, pode estar completamente cheia. E assim por diante.