Numpy: escolha aleatória deve suportar arrays multidimensionais

Criado em 12 nov. 2012  ·  9Comentários  ·  Fonte: numpy/numpy

solicitação de aprimoramento random.choice:

random.choice deve suportar arrays multidimensionais tomando um número de eixo. Com esse aprimoramento, axis=None escolheria a partir de um array achatado, enquanto um argumento inteiro escolheria entre os subarrays ao longo desse eixo.

Desculpas se for uma duplicata. Minha submissão anterior parece ter desaparecido.

01 - Enhancement numpy.random

Comentários muito úteis

+1. Isso ainda não foi implementado?

Todos 9 comentários

Isso deve ser simples se você está pensando em fazê-lo. Tudo o que parece necessário é adicionar um cheque especial de axis=None e ravel nesse caso e substituir make axis=1 . Em seguida, defina pop_size = a.shape[axis] e passe axis para take . (Mais possivelmente um erro se a for apenas um int e o eixo for fornecido).

Na verdade, pensando nisso, também pode ser razoável ter size=None como padrão e retornar um escalar/os eixos fornecidos removidos nesse caso. Isso seria uma mudança real na funcionalidade, infelizmente, mas faria sentido para semelhança com import random; random.choice principalmente.

Pode-se pensar também em permitir um argumento out que é apenas passado para take principalmente. Embora nenhuma das outras funções aleatórias tenha isso, pode ser uma boa opção de desempenho em alguns casos.

+1

+1. Isso ainda não foi implementado?

+1

Isso é implementado?

Isso será implementado algum dia?

+1

+1
Eu também tentei implementar isso, antes de perceber que @masasin já havia feito isso.

Implementado na nova API randomgen: np.random.Generator().choice(..., axis=int) . Fechando, pois não atualizaremos o código legado para dar suporte a isso. Se você se sente diferente, por favor, reabra para discussão.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

marcocaccin picture marcocaccin  ·  4Comentários

MareinK picture MareinK  ·  3Comentários

toddrjen picture toddrjen  ·  4Comentários

astrofrog picture astrofrog  ·  4Comentários

kevinzhai80 picture kevinzhai80  ·  4Comentários