Ciência de dados: como enviar dados na forma de arquivos não estruturados com python
Você pode usar Python para enviar dados na forma de arquivos não estruturados. arquivos de dados não estruturados consistem de uma série de bits. O arquivo não separar os bits do outro de forma alguma. Você não pode simplesmente olhar para o arquivo e ver toda a estrutura, porque não há qualquer para ver. formatos de arquivos não estruturados contar com o usuário do arquivo para saber como interpretar os dados.
Conteúdo
Por exemplo, cada pixel de um arquivo de imagem poderia consistir em três campos de 32 bits. Sabendo que cada campo é de 32 bits é com você. Um cabeçalho no início do arquivo pode fornecer pistas sobre como interpretar o arquivo, mas, mesmo assim, é até você para saber como interagir com o arquivo.
O exemplo aqui mostra como trabalhar com uma imagem como um arquivo não-estruturados. A imagem é um exemplo oferta de domínio público. Para trabalhar com imagens, você precisa acessar o biblioteca Scikit-image, que é uma coleção livre de encargos de algoritmos usados para o processamento de imagem. UMA tutorial para esta biblioteca está disponível se você precisar de ajuda.
A primeira tarefa é a de ser capaz de exibir na tela a imagem usando o seguinte código. (Este código pode exigir um pouco de tempo para correr. A imagem está pronto quando o indicador de ocupado desaparece da guia Notebook IPython.)
imreadfrom de importação skimage.io pyplot skimage.transform importação resizefrom matplotlib importação como matplotlib.cm PLTImport como cmexample_file = ( “” + “https://upload.wikimedia.org/ Wikipedia / comuns / 7 / 7d / Dog_face.jpg”) imagem = imread (example_file, as_grey = TRUE) plt.imshow (imagem, cmap = cm.gray) plt.show ()
O código começa com a importação de um número de bibliotecas. Em seguida, cria uma cadeia que aponta para o exemplo de arquivos online e coloca-lo em example_file. Essa seqüência é parte do imread () chamada de método, juntamente com as_grey, que é definido como Verdade. o as_grey argumento diz Python para transformar qualquer imagens coloridas em escala de cinza. Quaisquer imagens que já estão em escala de cinza permanecer assim.
Agora que você tem uma imagem carregada, é hora de torná-lo (torná-lo pronto para exibir na tela. O imshow () função executa o processamento e usa um mapa de cores em tons de cinza. o exposição() função na verdade exibe imagem para voce.
Feche a imagem quando você terminar de vê-lo. (O asterisco na In
Video: Python e Banco de Dados com Sqlite3 #2: Inserindo dados dinamicamente
print ( “tipo de dados:% s, forma:% s”% (tipo (imagem), image.shape))
A saída do presente convite diz que o tipo de imagem é um numpy.ndarray e que o tamanho da imagem é de 90 pixels por 90 pixels. A imagem é na verdade um conjunto de pixels que você pode manipular de várias maneiras. Por exemplo, se você quiser cortar a imagem, você pode usar o seguinte código para manipular a matriz da imagem:
imagem2 = imagem [5: 70,0: 70] plt.imshow (imagem2, cmap = cm.gray) plt.show ()
o numpy.ndarray dentro image2 é menor do que aquele em imagem, de modo que a saída é menor, bem. O objetivo do corte da imagem é torná-lo um tamanho específico. Ambas as imagens devem ser do mesmo tamanho para que você possa analisá-los. O corte é uma forma de garantir que as imagens são o tamanho correto para a análise.
Outro método que você pode usar para mudar o tamanho da imagem é para redimensioná-la. O código a seguir redimensiona a imagem para um tamanho específico para análise:
image3 = redimensionamento (image2, (30, 30), mode = `mais próximo`) plt.imshow (image3, cmap = cm.gray) print ( “tipo de dados:% s, forma:% s”% (tipo (image3) , image3.shape))
A saída a partir da impressão() função diz-lhe que a imagem é agora de 30 pixels por 30 pixels de tamanho. Você pode compará-lo a qualquer imagem com as mesmas dimensões.
Video: Python 3 Aula 14 - Encriptação de dados - md5 - sha1
Depois de ter todas as imagens o tamanho certo, o que você precisa para achatar-los. Uma fileira de conjunto de dados é sempre uma dimensão única, não duas dimensões. A imagem é atualmente uma série de 30 pixels por 30 pixels, então você não pode fazer parte de um conjunto de dados. O código a seguir achata image3 de modo que torna-se uma matriz de 900 elementos de que é armazenado em image_row.
image_row = image3.flatten () impressão ( “tipo de dados:% s, forma:% s”% (tipo (image_row), image_row.shape))
Note que o tipo ainda um é numpy.ndarray. Você pode adicionar essa matriz para um conjunto de dados e, em seguida, usar o conjunto de dados para fins de análise. O tamanho é de 900 elementos, como o previsto.