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.
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.
Comentários muito úteis
+1. Isso ainda não foi implementado?